Iterator Pattern

摘要: 1.Iterator模式用来解决对一个聚合对象的遍历问题,将对聚合的遍历封装到一个类中进行,这样就避免了暴露这个聚合对象的内部表示的可能.2.Iterator 模式结构图3.实现 1 #ifndef _AGGREGATE_H_ 2 #define _AGGREGATE_H_ 3 4 class ... 阅读全文
posted @ 2015-07-24 11:56 那个人好像一条狗 阅读(210) 评论(0) 推荐(0)

Chain of Responsibility Pattern

摘要: 1.Chain of Responsibility模式:将可能处理一个请求的对象链接成一个链,并将请求在这个链上传递,直到有对象处理该请求(可能需要提供一个默认处理所有请求的类,例如MFC中的CwinApp类)。2.Chain of Responsibility Pattern 结构图3.实现 1 ... 阅读全文
posted @ 2015-07-24 11:32 那个人好像一条狗 阅读(190) 评论(0) 推荐(0)

Visitor Pattern

摘要: 1.Visitor模式:将更新(变更)封装到一个类中(访问操作),并由待更改类提供一个接收接口,则可在不破坏类的前提下,为类提供增加新的新操作。2.Visitor模式结构图Visitor模式的关键是双分派(Double-Dispatch)的技术:Accept()操作是一个双分派的操作,具体调用哪个A... 阅读全文
posted @ 2015-07-23 18:33 那个人好像一条狗 阅读(232) 评论(0) 推荐(0)

Command Pattern

摘要: 1.Command模式通过将请求封装到一个对象(Command)中,并将请求的接受者存放到具体的ConcreteCommand类中(Receiver)中,从而实现调用操作的对象和操作的具体实现者之间的解耦。2.Command 模式结构图3.实现 1 #ifndef _RECEIVER_H_ 2 #... 阅读全文
posted @ 2015-07-23 17:40 那个人好像一条狗 阅读(191) 评论(0) 推荐(0)

Mediator Pattern

摘要: 1.Mediator PatternMediator模式将对象间的交互和通讯封装在一个类中,各个对象间的通信不必显示去声明和引用,将多对多的通信转化为一对多的通信,大大降低了系统的复杂性能。通过Mediator,各个Colleage就不必维护各自通信的对象和通信协议,降低了系统的耦合性。Mediat... 阅读全文
posted @ 2015-07-23 15:55 那个人好像一条狗 阅读(275) 评论(0) 推荐(0)

Memento Pattern

摘要: 1.Memento 模式的关键是在不破坏封装的前提下,捕获并保存一个类的内部状态,这样就可以利用该保存的状态实施恢复操作。2.Memento 模式结构图3.实现 1 #ifndef _MEMENTO_H_ 2 #define _MEMENTO_H_ 3 4 #include 5 using ... 阅读全文
posted @ 2015-07-23 14:49 那个人好像一条狗 阅读(213) 评论(0) 推荐(0)

Observer Pattern

摘要: 1.Observer模式要解决的问题为:建立一个一(Subject)对多(Observer)的依赖关系,并且做到当“一”变化的时候,依赖这个“一”的多也能够同步改变.2.Observer Pattern 结构图 注:这里的目标Subject提供依赖于它的观察者Observer的注册(Attach)... 阅读全文
posted @ 2015-07-23 11:51 那个人好像一条狗 阅读(270) 评论(0) 推荐(0)

State Pattern

摘要: 1.每个人、事物在不同的状态下会有不同表现(动作),而一个状态又会在不同的表现下转移到下一个不同的状态(State).State Pattern 将每一个分支都封装到独立的类中,将状态逻辑和动作实现进行分离。提高了系统的扩展性和可维护性。2.State Pattern结构图3.实现:如果代码看的不懂... 阅读全文
posted @ 2015-07-22 18:29 那个人好像一条狗 阅读(214) 评论(0) 推荐(0)

Strategy Pattern

摘要: 1.Strategy模式和Template模式要解决的问题是相同(类似)的,都是为了给业务逻辑(算法)具体实现和抽象接口之间的解耦。Strategy模式将逻辑(算法)封装到一个类(Context)里面,通过组合的方式将具体算法的实现在组合对象中实现,再通过委托的方式将抽象接口的实现委托给组合对象实现... 阅读全文
posted @ 2015-07-22 15:33 那个人好像一条狗 阅读(197) 评论(0) 推荐(0)

Template Pattern

摘要: 1.Template模式解决的问题:对于某一个业务逻辑在不同的对象中有不同的细节实现,但是逻辑的框架是相同的。将逻辑框架放在抽象基类中,并定义好细节的接口,子类中实现细节。Template模式利用多态的概念实现算法细节和高层接口的松耦合。2.Template Pattern 结构图3.实现 1 #i... 阅读全文
posted @ 2015-07-22 14:08 那个人好像一条狗 阅读(170) 评论(0) 推荐(0)