设计模式----Chain of Responsibility(职责链)模式
GOF:使多个对象都有机会处理请求,从而避免请求的发送者和接收者之间的
耦合关系。将这些对象连成一条链,并沿着这条链传递请求,直到有一个对象
处理它为止。
Chain of Responsibility(职责链)模式其实也挺简单的。通俗的来说就是当一
个请求发到我这里,我能处理就给处理,不能处理就推给其他人去处理。也就
是说接受请求的对象形成一个链,请求在这个链上传递,直到链上的某一个对
象决定处理此请求。发出这个请求的客户可以在不影响客户端的情况下动态的
重新组织链和分配责任。也可以这样理解,你到一个地方去办一件事情,本来
很小的事情,但是办事的人互相推诿扯皮,一个推一个,最后有个心善的人把
事情给你办了。
下面是一个简单的例子:
下面是 UML 图:
参考文献:
GOF《设计模式》 by GOF
《Think in Patterns》 by Bruce Eckel