随笔分类 -  C++设计模式

摘要:Prototype 提供了自我复制的功能 Prototype 模式提供了一个通过已存在对象进行新对象创建的接口(Clone),Clone()实现和具体的实现语言相关,在 C++中我们将通过拷贝构造函数实现之。 #include"prototype.h" #include<iostream> usin 阅读全文
posted @ 2018-11-27 11:23 Lumi_Imp 阅读(129) 评论(0) 推荐(0)
摘要:Builder 模式的关键是其中的 Director 对象并不直接返回对象,而是通过一步步(BuildPartA,BuildPartB,BuildPartC)来一步步进行对象的创建。 复杂对象的创建过程和这个对象的表示分离开来 Builder 模式和 AbstractFactory 模式在功能上很相 阅读全文
posted @ 2018-11-27 10:37 Lumi_Imp 阅读(149) 评论(0) 推荐(0)
摘要:通过维护一个 static 的成员变量来记录这个唯一的对象实例。通过提供一个 staitc 的接口 instance 来获得这个唯一的实例。 Singleton 不可以被实例化 (私有构造函数 #include<iostream> #include"singleton.h" using namesp 阅读全文
posted @ 2018-11-27 09:23 Lumi_Imp 阅读(118) 评论(0) 推荐(0)
摘要:AbstractFactory建一组相关或者相互依赖的对象。 AbstractFactory 模式将一组对象的创建封装到一个用于创建对象的类ConcreteFactory)中,维护这样一个创建类总比维护 n 多相关对象的创建过程要简单的多。 我们要创建一组对象(ProductA1,ProductA2 阅读全文
posted @ 2018-11-27 08:51 Lumi_Imp 阅读(126) 评论(0) 推荐(0)
摘要:Factory 引出:为了提高内聚 和 松 耦合 ,我们经常会抽象出一些类的公共接口以形成抽象基类或者接口 通过声明一个指向基类的指针来指向实际的子类达到多态的目的。 问题:多子类继承抽象基类 我们需要new XXX来用到子类 。 1. 客户程序员想使用必须知道子类的名字( 系统复杂 可能冲突 可记 阅读全文
posted @ 2018-11-26 18:57 Lumi_Imp 阅读(150) 评论(0) 推荐(0)