2009年4月9日星期四

JavaDesign_020:责任链模式 Chain of Responsiblity(摘录+整理)

1. 特点
(1)很多对象组成一根“链条(上家包含下家的引用)
(2)请求在这个“链条”上传递,请求的发出者并不知道“链条”上的哪个对象会处理请求。

2. 缺点(1)
(2)
(3)

3. 代码架构(1)抽象处理者。用聚合关系包含对下家的引用。
(2)
具体处理者处理请求或将请求传给下家。
(3)请求对象。根据请求的复杂情况,可以把请求包装成一个对象。

4. Java中对观察者模式的应用
(1)AWT 1.0 库中的事件处理(构件处理GUI事件或将事件传递给上级容器)。
缺点是事件浮升机制会导致事件处理比较慢;而且鼠标事件成灾。
AWT 2.0 库已改成使用观察者模式。
5. 典型应用场景(1)击鼓传花。
(2)把 EDI 转换成 XML。

参考文献:
1. 《设计模式》 板桥里人
2. 《Java与模式》 阎宏

没有评论: