摘要: 以下转载来自:https://zhuanlan.zhihu.com/p/445482226 https://refactoringguru.cn/design-patterns/cpp 一、什么是设计模式 设计模式(Design pattern)是一套被反复使用、多数人知晓的、经过分类编目的、代码设 阅读全文
posted @ 2022-02-23 16:55 冰糖葫芦很乖 阅读(2334) 评论(0) 推荐(0) 编辑
摘要: 转载:https://blog.csdn.net/wsl211511/article/details/43915717 设计模式六大原则分别是单一职责原则(SPR)、开放-封闭原则、里氏代换原则(LSP)、依赖倒转原则、迪米特原则(LoD)和合成/聚合复用原则(CARP)。 1.单一职责原则,就一个 阅读全文
posted @ 2022-02-23 16:20 冰糖葫芦很乖 阅读(244) 评论(0) 推荐(0) 编辑
摘要: 单一职责原则 开放-封闭原则 依赖倒转原则 4.里氏替换原则 迪米特法则 6.合成/聚合复用原则 阅读全文
posted @ 2022-02-23 16:06 冰糖葫芦很乖 阅读(53) 评论(0) 推荐(0) 编辑
摘要: 参考这两个文章 https://blog.csdn.net/Acquisition0818/article/details/118079459 https://blog.csdn.net/cjbct/article/details/79266057 单例模式饿汉式.cpp //饿汉式 即类产生的时候 阅读全文
posted @ 2022-02-23 15:26 冰糖葫芦很乖 阅读(611) 评论(0) 推荐(0) 编辑
摘要: 抽象工厂: 提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类。 #include<iostream> using namespace std; class Department // 抽象产品Department ,定义具体产品的公共接口 { public: virtual ~De 阅读全文
posted @ 2022-02-23 14:04 冰糖葫芦很乖 阅读(308) 评论(0) 推荐(0) 编辑
摘要: 工厂方法模式(Factory Method):定义一个用于创建对象的接口,让子类决定实例化哪一个类 工厂方法使得一个类的实例化延迟到其子类 与简单工厂模式对比简单工厂模式最大优点就是工厂类中包含了必要的逻辑判断,可以根据不同条件动态实例化相关的类, 但如果要增加新的需求就需要改动这个工厂类,违背了开 阅读全文
posted @ 2022-02-23 11:58 冰糖葫芦很乖 阅读(469) 评论(0) 推荐(0) 编辑
摘要: 简单工厂 通过封装,继承,多态把程序的耦合度降低,使得程序更加灵活,易于修改且易于重复。考虑一个用单独的类来创造实例的过程,这就是工厂。本模式通过编写计算器的方式来理解一段好的代码应该具有良好的可维护性和扩展性。通过抽象基类,子类继承基类的方式,实现可维护性和扩展性:当后续添加其他计算方法时,只需新 阅读全文
posted @ 2022-02-23 11:48 冰糖葫芦很乖 阅读(409) 评论(0) 推荐(0) 编辑
摘要: 组合模式(Composite):将对象组合成树形结构以表示'部分-整体'的层次结构。组合模式使得用户对单个对象和组合对象的使用具有一致性 #include<iostream> #include<list> using namespace std; //公司类... 抽象或者接口 class Comp 阅读全文
posted @ 2022-02-23 11:38 冰糖葫芦很乖 阅读(128) 评论(0) 推荐(0) 编辑
摘要: 中介者模式(Mediator),用一个中介对象来封装一系列的对象交互。中介者使各对象不需要显示得相互引用,从而使得其耦合松散,而且可以独立地改变他们之间得交互 代码: //中介者模式(Mediator),用一个中介对象来封装一系列的对象交互。中介者使各对象不需要显示得相互引用,从而使得其耦合松散,而 阅读全文
posted @ 2022-02-23 11:17 冰糖葫芦很乖 阅读(390) 评论(0) 推荐(0) 编辑
摘要: 状态模式(State),当一个对象的内在状态改变时允许改变其行为,这个对象看起来像是改变了其类 状态模式主要解决的是当控制一个对象状态转换的条件表达式过于复杂时的情况,把状态的判断逻辑转移到表达不同状态的一系列当中,可以把复杂的判断逻辑简化 将特定的状态相关的行为都放入一个对象中,由于所有与状态相关 阅读全文
posted @ 2022-02-23 10:32 冰糖葫芦很乖 阅读(575) 评论(0) 推荐(0) 编辑