职责链模式(Chain of Responsibility):使多个对象都有机会处理请求,从而避免请求的发送者和接受者直接的耦合关系,将这个对象连城一条链,并沿着这个链传递该请求,直到有一个对象处理它为止。
UML:
职责链的好处:当客户提交一个请求时,请求是沿链传递直至有一个ConcreteHandler对象负责处理它。这就使得接受者和发送者都没有对方的明确信息,且链中的对象自己并不知道链的结构。结果是职责链可简化对象的相互连接,它们仅需保持一个指向其后继者的引用,而不需保持它所有的候选接受者的引用。随时地增加或修改处理一个请求的结构,增加了给对象指派职责的灵活性。