摘要: 【定义】享元模式(Flyweight),运用共享技术有效的支持大量细粒度的对象。【场景】依旧以手机为例,手机有很多属性,品牌,手机号码,手机颜色等,现在假设手机有品牌和手机号码两种属性。手机品牌有Iphone,Sumsung,Nokia三种,但是手机号码却有千千万万,这千千万万的手机号码便是大量的细... 阅读全文
posted @ 2012-08-26 23:49 $逝水无痕$ 阅读(112) 评论(0) 推荐(0) 编辑
摘要: 【定义】中介者模式(Mediator),用一个中介对象来封装一系列的对象交互。中介者使各个对象不需要显示地相互应用,从而使其耦合松散,而且可以独立的改变它们之间的交互。【场景】一个窗口中有两个控件,一个按钮Button和编辑框Label,现在要单机按钮则编辑框改变文本,如果将编辑框改变文本的代码放到... 阅读全文
posted @ 2012-08-26 19:17 $逝水无痕$ 阅读(126) 评论(0) 推荐(0) 编辑
摘要: 【定义】职责链模式(Chain of Responsibility),使多个对象都有机会处理请求,从而避免请求的发送者和接受者之间的偶合关系。将这个对象练成一条链,并沿着这条链传递该请求,直到有一个对象处理它为止。【UML】【代码】#include using namespace std;class... 阅读全文
posted @ 2012-08-26 16:28 $逝水无痕$ 阅读(95) 评论(0) 推荐(0) 编辑
摘要: 【定义】命令模式(Command),将一个请求封装为一个对象,从而使你可用不同的请求对客户进行参数化,对请求排队或记录请求日志,以及支持可撤销的操作。【场景】这里以向窗口发送消息和窗口处理消息为例(有些牵强,UI窗口的消息管理其实可以用这个设计模式模拟实现,将Invoker改成MessageMana... 阅读全文
posted @ 2012-08-26 15:24 $逝水无痕$ 阅读(104) 评论(0) 推荐(0) 编辑