- 博客(8)
- 收藏
- 关注
原创 【C++设计模式】观察者模式
观察者模式定义定义对象间的⼀种⼀对多(变化)的依赖关系,以便当⼀个对象(Subject)的状态发⽣改变时,所有依赖于它的对象都得到通知并⾃动更新。 ——《 设计模式》 GoF应用场景侦听事件驱动程序设计中的外部事件侦听/监视某个对象的状态变化发布者/订阅者(publisher/subscriber)模型中,当一个外部事件(新的产品,消息的出现等等)被触发时,通知邮件列表中的订阅者案例背景⽓象站发布⽓象资料给数据中⼼,数据中⼼经过处理,将⽓象信息更新到两个不同的显示终端(A
2021-01-24 22:54:28
140
原创 【C++设计模式】模板方法
模板方法定义定义⼀个操作中的算法的⻣架 ,⽽将⼀些步骤延迟到⼦类中。 Template Method使得⼦类可以不改变⼀个算法的结构即可重定义该算法的某些特定步骤。 ——《 设计模式》 GoF本质:通过固定算法⻣架来约束⼦类的⾏为;应用场景具有统一的操作步骤或操作过程具有不同的操作细节存在多个具有同样操作步骤的应用场景,但某些具体的操作细节却各不相同案例背景某个品牌动物园,有⼀套固定的表演流程,但是其中有若⼲个表演⼦流程受欢迎程度比较低,希望将这几个表演流程创新,以尝试
2021-01-24 22:52:32
155
原创 【C++设计模式】原型模式
原型模式概念Prototype模式是一种对象创建型模式,它采取复制原型对象的方法来创建对象的实例。使用Prototype模式创建的实例,具有与原型一样的数据。1)由原型对象自身创建目标对象。也就是说,对象创建这一动作发自原型对象本身。2)目标对象是原型对象的一个克隆。也就是说,通过Prototype模式创建的对象,不仅仅与原型对象具有相同的结构,还与原型对象具有相同的值。3)根据对象克隆深度层次的不同,有浅度克隆与深度克隆。原型模式主要面对的问题是:“某些结构复杂的对象”的创建工作;由于需求的变
2021-01-08 21:32:30
109
原创 【C++设计模式】建造者模式
建造者模式概念Builder模式也叫建造者模式或者生成器模式,是由GoF提出的23种设计模式中的一种。Builder模式是一种对象创建型模式之一,用来隐藏复合对象的创建过程,它把复合对象的创建过程加以抽象,通过子类继承和重载的方式,动态地创建具有复合属性的对象。对象的创建:Builder模式是为对象的创建而设计的模式- 创建的是一个复合对象:被创建的对象为一个具有复合属性的复合对象- 关注对象创建的各部分的创建过程:不同的工厂(这里指builder生成器)对产品属性有不同的创建方法适用情况一个对
2021-01-07 22:22:15
176
原创 【C++设计模式】工厂模式
工厂模式工厂方法模式同样属于类的创建型模式又被称为多态工厂模式 。工厂方法模式的意义是定义一个创建产品对象的工厂接口,将实际创建工作推迟到子类当中。核心工厂类不再负责产品的创建,这样核心类成为一个抽象工厂角色,仅负责具体工厂子类必须实现的接口,这样进一步抽象化的好处是使得工厂方法模式可以使系统在不修改具体工厂角色的情况下引进新的产品。类图稳定点// 抽象产品class ConfAbstract {public: virtual void getConf()=0;};// 抽
2021-01-06 21:59:27
96
原创 【C++设计模式】 简单工厂模式
定义简单工厂模式属于类的创建型模式,又叫做静态工厂方法模式。通过专门定义一个类来负责创建其他类的实例,被创建的实例通常都具有共同的父类。模式中包含的角色及其职责工厂(Creator)角色 简单工厂模式的核心,它负责实现创建所有实例的内部逻辑。工厂类可以被外界直接调用,创建所需的产品对象。抽象(Product)角色 简单工厂模式所创建的所有对象的父类,它负责描述所有实例所共有的公共接口。具体产品(Concrete Product)角色 简单工厂模式所创建的具体实例对象在本案例中,通过通
2021-01-05 22:04:25
108
原创 【C++设计模式】 单例
定义GoF对单例模式的定义是:保证一个类、只有一个实例存在,同时提供能对该实例加以访问的全局访问方法。类图步骤构造函数私有化提供全局静态方法类内定制指针,指向本类;懒汉式单例在调用getInstance()方法时才创建对象,饿汉式会创建一个全局变量,调用getInstance()方法返回这个全局变量;懒汉式代码:#include <iostream>#include <mutex>using namespace std;// 临界区, 用于解决多线程
2021-01-05 21:07:13
189
2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人