2010年12月23日

摘要: 意图:使多个请求对象都有机会处理请求,从而避免请求对象的发送者和接收者之间的耦合关系。将这些请求对象连成一条链,并沿着这条链传递该请求,直到有一个对象处理它为止。职责链模式典型结构图 职责模式中ConcreteHandle将自己的后继对象(向下传递消息的对象)记录在自己的后继表中,当一个请求到来时,ConcreteHandle先会检查自己有没有匹配的处理程序,如果有就自己处理,否则就传递给他的后继。下面的实例程序中只是简化了一下,ConcreteHandle只是简单的检查看自己有没有后继,有的话将请求传递给后继进行处理,没有的话就自己处理。示例代码:class Handler{public:. 阅读全文
posted @ 2010-12-23 17:56 Zhiqiang.Chen 阅读(169) 评论(0) 推荐(0) 编辑
摘要: 下面这张UML示例图是从《大话设计模式》截出来的:对上面的UML图例之间的关系做一下总结:一、关联(association) 两者之间只是一种“知道”的关系,耦合度非常小。例如上图中的企鹅类与气候类。 图形表示:用一根连接类的实线表示,用箭头表示关联的方向;如果不明确指明方向,则默认关联是双向的。 二、 聚合(aggregation) 聚合体现了类之间的一种整体与部分的关系,表示一种很弱的“拥有”关系。体现了一种层次结构,整体类位于部分类的上层,多个部分类处于并列的层次 。 图形表示:尾端带一个菱形的单箭头直线,菱形指向整体部分 。三、 组合(composition) 组合是一种很强的“拥有. 阅读全文
posted @ 2010-12-23 16:11 Zhiqiang.Chen 阅读(164) 评论(0) 推荐(0) 编辑

导航