随笔分类 -  设计模式

摘要:思想:使对象克隆自身,返回一个匿名对象,对匿名对象进行修改,不会影响原对象。 //注:下面代码使用了抽象类,然也可以使用不同的继承。 阅读全文
posted @ 2017-09-08 16:51 宁静淡泊 阅读(127) 评论(0) 推荐(0)
摘要:# include # include using namespace std; //具体的产品,创建产品需要两个步骤,1、获取名称;2、获取型号 class Product { public: void getName(string name) {name_ = name;} //获取名称 void getType(string type) {type_ = type;... 阅读全文
posted @ 2017-09-08 15:08 宁静淡泊 阅读(155) 评论(0) 推荐(0)
摘要:# include using namespace std; //抽象产品A class AbsProductA { public: virtual void show() = 0; }; //抽象产品B class AbsProductB { public: virtual void show() = 0; }; //抽象工厂 class AbsFactory { publ... 阅读全文
posted @ 2017-09-06 17:21 宁静淡泊 阅读(99) 评论(0) 推荐(0)
摘要:保证一个类只有一个实例 阅读全文
posted @ 2017-09-05 17:47 宁静淡泊 阅读(115) 评论(0) 推荐(0)
摘要:核心思想: 把 工厂 和 产品 都给抽象出来 -> 抽象工厂、 抽象产品。 每一个 具体产品 对应一个 具体工厂, 具体工厂 可生产一种 具体产品。 可以实现工厂的多态(一个抽象工厂指针可以指向多个种类的工厂) 可以实现产品的多态(一个抽象产品指针可以指向多个种类的产品) 符合开闭原则。当添加新的具 阅读全文
posted @ 2017-09-05 16:28 宁静淡泊 阅读(142) 评论(0) 推荐(0)
摘要:主要思想: 1个目标可以有多个观察者, 当目标更新后,目标主动通知观察者, 不同的观察者通过回调函数完成多态。 阅读全文
posted @ 2017-09-04 16:52 宁静淡泊 阅读(129) 评论(0) 推荐(0)