设计模式学习每日一记(23.责任链模式)

责任链模式

A.定义:

使多个对象都有机会处理请求,避免了请求发送者和接收者之间的耦合关系。将对象组成一个链,并连着这个链传递该请求,直到有一个对象处理该请求。

B.定义分析:

 "使多个对象都有机会处理请求,避免了请求发送者和接收者之间的耦合关系。将对象组成一个链,并连着这个链传递该请求,直到有一个对象处理该请求。"多个对象都有一致的请求处理接口,(请求可以理解为调用,并传参),让每个对象都有处理请求的机会。

 "使多个对象都有机会处理请求避免了请求发送者和接收者之间的耦合关系。将对象组成一个链,并连着这个链传递该请求,直到有一个对象处理该请求。" 这样,请求的发送者没有跟具体的接收有耦合关系,而是和责任链这样的机制有耦合,而机制更容易改变和复用。

 "使多个对象都有机会处理请求避免了请求发送者和接收者之间的耦合关系。将对象组成一个链,并连着这个链传递该请求,直到有一个对象处理该请求。" 请求处理过程是:每个链上的对象都有机会处理请求,最终结果是有一个对象处理这个请求。

C.问题:

(1)什么时候使用?

对于消息分发这样的需要,我们可能希望消息发送不依赖于具体的对象,而是沿着链分发就可以了,这样总会处理到的。 

原文地址:https://www.cnblogs.com/linucos/p/2231145.html