设计模式
文章平均质量分 78
chenbo20091946
NULL
展开
-
对象结构型——桥接模式(Bridge)
一、功能 将抽象部分与它的实现部分分离,使它们都可以独立地变化。 二、结构图 #include using namespace std; class Implementor { public: virtual void OperationImp() = 0 ; } ; class ConcreteImplementorA : public Implementor {转载 2012-05-30 17:19:41 · 2004 阅读 · 0 评论 -
对象结构型——组合模式(Composite)
一、功能 表示“部分-整体”关系,并使用户以一致的方式使用单个对象和组合对象。 二、结构图 上图中,也可以做些扩展,根据需要可以将Leaf和Composite做为抽象基类,从中派生出子类来。 三、优缺点 优点:对于Composite模式,也许人们一开始的注意力会集中在它是如何实现组合对象的。但Composite最重要之处在于用户并不关心是组合对象还是单个对象,用户将以转载 2012-05-30 17:53:13 · 283 阅读 · 0 评论 -
对象行为模式——观察者模式(Observer)
#include #include #include using namespace std; typedef int STATE; class Observer; class Subject; class Subject { public: Subject(){} void Notify(); void Attach(Observer *pObserver); void De翻译 2012-05-30 20:31:09 · 279 阅读 · 0 评论 -
类/对象结构型模式——适配器模式(Apapter)
一、功能 将一个类的接口转换成客户希望的另外一个接口,解决两个已有接口之间不匹配的问题。Adapter模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。 二、结构图 (1)class adapter (2)object adapter #include using namespace std; class Target转载 2012-05-30 16:40:23 · 479 阅读 · 0 评论 -
对象结构型——代理模式(Proxy)
意图: 为其他对象提供一种代理以控制对这个对象的访问 UML图: 解析: 某个对象知道它真正被使用的时候才被初始化,在没有用到的时候就暂时用Proxy作为占位符, 适用: 在需要用比较通用和复杂的对象指针代替简单的指针的时候,适用Proxy模式,如: 远程代理,为一个对象在不同的地址空间提供局部代表, 虚代理,根据需要创建开销很大的对象 保护代理,控制对原始对象的访问,保护代翻译 2012-05-30 19:03:23 · 443 阅读 · 0 评论 -
对象行为模式——中介者模式(Mediator)
定义:用一个中介对象来封装一系列的对象交互。中介者使各对象不需要显式地相互引用,从而使其耦合松散,而且可以独立地改变它们之间的交互。 说明: 1. Mediator 模式中,每个Colleague 维护一个 Mediator,当要进行通信时,每个具体的 Colleague 直接向ConcreteMediator 发信息,至于信息发到哪里,则由 ConcreteMediator 来决定。翻译 2012-05-30 19:17:30 · 324 阅读 · 0 评论 -
对象创建模式——抽象工厂(Abstract Factory)
#include using namespace std; class AbstractFactory; class ConcreteFactory1; class ConcreteFactory2; class AbstractProductA; class AbstractProductB; class ProductA1; class ProductA2; class ProductB1;原创 2012-05-30 11:13:30 · 444 阅读 · 0 评论 -
对象创建型——单件模式(Singleton)
#include using namespace std; class Singleton { public: static Singleton* Instance(); protected: Singleton(); private: static Singleton* _Instance; }; Singleton::Singleton(){}; Singlet翻译 2012-05-30 14:54:09 · 277 阅读 · 0 评论