设计模式
net_assassin
这个作者很懒,什么都没留下…
展开
-
设计模式——工厂模式
工厂模式工厂模式就是将对象实例化的过程封装起来,成批次的构造对象。应用情景小故事: 假设有个刚起步的加工儿童男装小手工作坊,此时生产还比较单一,只能加工一款式A。大多客户都是散户,订单也很少,随来订单随做。那此时的模式结构如下图:#include using namespace std;class ClothBoy { public: v原创 2013-08-04 10:56:11 · 785 阅读 · 0 评论 -
non-local static对象初始化
C++中的static对象是指存储区不属于stack和heap、"寿命"从被构造出来直至程序结束为止的对象。这些对象包括全局对象,定义于namespace作用域的对象,在class、function以及file作用域中被声明为static的对象。其中,函数内的static对象称为local static 对象,而其它static对象称为non-local static对象。 这两原创 2013-08-04 16:08:34 · 1033 阅读 · 0 评论 -
设计模式——装饰者模式(Decorator)
装饰模式:动态地给一个对象添加一些额外的职责。就增加功能来说,装饰模式相比生成子类更为灵活。有时我们希望给某个对象而不是整个类添加一些功能。类继承可能会带来类数量爆炸等问题,设计死板。巴克莱咖啡,分店几乎开遍世界各地。他们发展的实在是太快了,所以他们此时正在急于实现一套由计算机管理的自动化记账系统。在第一次研究了他们的需求以后,开发者设计了如下图的类结构:原创 2013-08-05 21:49:39 · 849 阅读 · 0 评论 -
Singleton模式
单线程singleton模式#include using namespace std; template class Singleton { public: static T* getInstance() { if( !instance ) { instance = new T(); } retu原创 2013-08-11 21:33:21 · 644 阅读 · 0 评论 -
Template Method 模式
Method模式作用:定义一个操作中的算法的骨架,而将一些步骤延迟到子类中。TemplateMethod 使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。UML结构图:现在看具体例子 泡茶喝泡咖啡原创 2013-08-12 19:59:32 · 733 阅读 · 0 评论 -
设计模式 连连看
原创 2013-08-13 16:58:44 · 693 阅读 · 0 评论 -
Proxy 模式
作用:为其他对象提供一种代理以控制对这个对象的访问#include using namespace std; class Subject{public: Subject(){} virtual ~Subject(){} virtual void request() = 0;private:};class RealSubject:public Su原创 2013-08-13 16:07:28 · 791 阅读 · 0 评论