大胖的部落格

Just a note

  C++博客 :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理 ::
  112 随笔 :: 0 文章 :: 3 评论 :: 0 Trackbacks

2009年6月10日 #

     摘要: State模式  阅读全文
posted @ 2009-06-10 16:23 大胖 阅读(150) | 评论 (0)编辑 收藏

     摘要: Visitor模式  阅读全文
posted @ 2009-06-10 16:02 大胖 阅读(194) | 评论 (0)编辑 收藏

     摘要: 基类中定义了一个算法的轮廓,算法每一步具体的实现留给了派生类。  阅读全文
posted @ 2009-06-10 15:22 大胖 阅读(108) | 评论 (0)编辑 收藏

     摘要: 当一个subject的状态变化时,多个observer的状态需要跟着变化。
subject内部存放多个observer的指针,observer提供一个更新自身状态的接口供subject调用。
当subject状态变化时,调用observer的更新接口。  阅读全文
posted @ 2009-06-10 15:12 大胖 阅读(131) | 评论 (0)编辑 收藏

     摘要: 在不破坏封装性的前提下,捕获一个对象(Originator)的内部状态,并在该对象之外(memento)保存这个状态,这样以后就可将该对象恢复到原先保存的状态。
Memento除了析构函数,其它成员均为私有,将Originator声明为友元,只允许它访问。Memento中保存了Originator的状态。  阅读全文
posted @ 2009-06-10 14:33 大胖 阅读(111) | 评论 (0)编辑 收藏

     摘要: 用一个中介对象Mediator来封装其它对象之间的交互,每个其它类型的对象只与Mediator交互。
每个其它类型对象都包含有同一个Mediator指针,Mediator中包含有所有其他类型对象指针。
每个其它类型对象调用Mediator接口,由Mediator对其它对象进行操作。  阅读全文
posted @ 2009-06-10 11:48 大胖 阅读(175) | 评论 (0)编辑 收藏

     摘要: 封装一个Iterator类,提供方法访问一个聚合对象中各个元素,而又不暴露该对象的内部表示。
这样可以对同一个聚合同时有多个遍历。  阅读全文
posted @ 2009-06-10 10:38 大胖 阅读(129) | 评论 (0)编辑 收藏

     摘要: 将要执行的命令封装在Receiver类中,执行命令的指令封装在Command类中,Command类保存一个Receiver指针。
先注册一个命令(将Receiver传给Command);
再执行命令(调用Command的函数,来调用Receiver的函数),在执行命令前可以取消注册的命令(删除Command中的Receiver)。
类似函数回调,先注册一个函数,需要时再调用。  阅读全文
posted @ 2009-06-10 10:05 大胖 阅读(124) | 评论 (0)编辑 收藏

     摘要: 每一个handler保存了一个handler指针,用来指向下一个handler,形成一个handler链。
当一个handler收到一个request的时候,可以选择自己处理或者转给下一个handler处理。  阅读全文
posted @ 2009-06-10 09:23 大胖 阅读(98) | 评论 (0)编辑 收藏