知识卡片
责任链模式的定义与传递判断机制
内容
责任链模式让多个对象都有机会处理同一请求,避免请求发送者和接收者耦合——处理者串成链, 请求沿链传递直到被处理。核心机制:handleMessage方法判断当前请求级别是否等于自己能处理 的级别,相等则处理,不相等则转发给nextHandler或兜底。发散:这把”该不该我处理”和”该怎么 处理”拆成两步,每个处理者不需要知道链上还有谁、链有多长。
参考来源
- 位置:《设计模式之禅(第2版)》第16章《责任链模式》(源文件:_epub-src/text/part0072.html、part0073.html)
- 结论依据:原文给出责任链模式定义并展示Handler抽象类的handleMessage方法:判断women.getType()是否等于this.level,相等调用response,不相等则检查nextHandler是否存在并转发或兜底处理。
- 原始内容:使多个对象都有机会处理请求,从而避免了请求的发送者和接受者之间的耦合关系。将这些对象连成一条链,并沿着这条链传递该请求,直到有对象处理它为止……如果相同则调用基本方法,做出反馈;如果不相等,则传递到下一个环节。