意图:使多个请求对象都有机会处理请求,从而避免请求对象的发送者和接收者之间的耦合关系。将这些请求对象连成一条链,并沿着这条链传递该请求,直到有一个对象处理它为止。

职责链模式典型结构图
职责模式中ConcreteHandle将自己的后继对象(向下传递消息的对象)记录在自己的后继表中,当一个请求到来时,ConcreteHandle先会检查自己有没有匹配的处理程序,如果有就自己处理,否则就传递给他的后继。下面的实例程序中只是简化了一下,ConcreteHandle只是简单的检查看自己有没有后继,有的话将请求传递给后继进行处理,没有的话就自己处理。
示例代码:
本文介绍了一种设计模式——职责链模式,旨在通过构建对象链来处理请求,避免发送者和接收者之间的直接耦合。每个对象在接收到请求后可以选择处理或者将其传递给链上的下一个对象。

136

被折叠的 条评论
为什么被折叠?



