
设计模式
文章平均质量分 70
nanjunxiao
这个作者很懒,什么都没留下…
展开
-
Strategy模式
这里的关键就是将算法的逻辑抽象接口(DoAction)封装到一个类中(Context),再 通过委托的方式将具体的算法实现委托给具体的Strategy类来实现(ConcreteStrategeA 类)。 C++简单实现代码: //strategy.h #ifndef _STRATEGY_H_ #define _STRATEGY_H_ class Strategy { public: S原创 2013-05-25 19:49:55 · 709 阅读 · 0 评论 -
工厂模式
Factory模式的两个最重要的功能: 1)定义创建对象的接口,封装了对象的创建; 2)使得具体化类的工作延迟到了子类中。 在第一个问题中,我们经常就是声明一个创建对象的接口,并封装了对象的创建过程。Factory这里类似于一个真正意义上的工厂(生产对象)。在第二个问题中,我们需要提供一个对象创建对象的接口,并在子类中提供其具体实现(因为只有在子类中可以决定到底实例化哪一个类)。 第一原创 2013-05-25 16:24:49 · 679 阅读 · 0 评论 -
线程安全的singleton
#ifndef _SINGLETON_H_ #define _SINGLETON_H_ #include "MultiThread.h" class singleton { public: ~singleton() { } static singleton* getInstance() { MutexLockGuard lock(mute原创 2013-05-25 22:26:00 · 1637 阅读 · 0 评论 -
抽象工厂模式
抽象工厂模式是所有形态的工厂模式中最为抽象和最具一般性的一种形态。 为了方便引进抽象工厂模式,引进一个新概念:产品族(Product Family)。所谓产品族,是指位于不同产品等级结构,功能相关联的产品组成的家族。如图: 图中一共有四个产品族,分布于三个不同的产品等级结构中。只要指明一个产品所处的产品族以及它所属的等级结构,就可以唯一的确定这个产品。 引进抽象工厂模式原创 2013-05-25 21:02:47 · 886 阅读 · 0 评论