知识卡片
责任链模式消息结构不变触发链允许消息形态转化
内容
观察者模式的”触发链”和责任链模式看似都是链式处理,但传递消息本质不同。责任链 中消息结构从头到尾不变,节点只能消费一部分不能变形;触发链中消息可在相邻节点间自由 改变形态,只需相邻节点互相认识。发散:上下节点关系也不同——责任链节点互不关联,只认 链首传入的对象;触发链节点两两绑定观察者关系,下级对上级无条件采信,上级对下级绝对 信任。
参考来源
- 位置:《设计模式之禅(第2版)》第32章《行为类模式大PK》32.3.3节(源文件:_epub-src/text/part0145.html)
- 结论依据:原文总结"责任链模式基本上不改变消息对象的结构……但是在触发链模式中是允许的,链中传递的对象可以自由变化,只要上下级节点对传递对象了解即可……在责任链模式中,上下节点没有关系,都是接收同样的对象……而触发链模式就不同了,它的上下级关系很亲密,下级对上级顶礼膜拜,上级对下级绝对信任"。
- 原始内容:责任链模式基本上不改变消息对象的结构……但是在触发链模式中是允许的,链中传递的对象可以自由变化,只要上下级节点对传递对象了解即可,它不要求链中的消息对象不变化,它只要求链中相邻两个节点的消息对象固定……在责任链模式中,上下节点没有关系……而触发链模式就不同了,它的上下级关系很亲密,下级对上级顶礼膜拜,上级对下级绝对信任。