责任链模式
A.定义:
使多个对象都有机会处理请求,避免了请求发送者和接收者之间的耦合关系。将对象组成一个链,并连着这个链传递该请求,直到有一个对象处理该请求。
B.定义分析:
"使多个对象都有机会处理请求,避免了请求发送者和接收者之间的耦合关系。将对象组成一个链,并连着这个链传递该请求,直到有一个对象处理该请求。"多个对象都有一致的请求处理接口,(请求可以理解为调用,并传参),让每个对象都有处理请求的机会。
"使多个对象都有机会处理请求,避免了请求发送者和接收者之间的耦合关系。将对象组成一个链,并连着这个链传递该请求,直到有一个对象处理该请求。" 这样,请求的发送者没有跟具体的接收有耦合关系,而是和责任链这样的机制有耦合,而机制更容易改变和复用。
"使多个对象都有机会处理请求,避免了请求发送者和接收者之间的耦合关系。将对象组成一个链,并连着这个链传递该请求,直到有一个对象处理该请求。" 请求处理过程是:每个链上的对象都有机会处理请求,最终结果是有一个对象处理这个请求。
C.问题:
(1)什么时候使用?
对于消息分发这样的需要,我们可能希望消息发送不依赖于具体的对象,而是沿着链分发就可以了,这样总会处理到的。