设计模式行为型职责链模式
一、职责链模式基本介绍
- 职责链模式(Chain of Responsiblity Pattern),又叫责任链模式,为请求创建了一个请求者对象的链。这种模式将请求的发送者和接收者解耦。
- 职责链模式通常每个接收者都包含对另一个接收者的引用。如果一个对象不能处理该请求,那么它会把相同的请求传给下一个接收者,以此类推。
- 这种设计模式属于行为型设计模式。
二、职责链模式的组成部分
- Handler:抽象的处理者,定义了一个处理请求的方法,包含含有另外一个handler对象。
- ConcreateHandler:具体的处理者,它处理它自己负责的请求,还可以访问,它的后继者,及下一个处理者。如果可以处理当前请求就处理,否者就将该请求给自己的后继者。
三、职责链模式的注意事项和细节
- 将请求和处理分开,实现解耦,提高系统灵活性。
- 简化对象,使得对象不知道链的结构。
- 性能会收到影响,特别是链比较长的时候,因此控制链的最大节点数量,一般通过在handler中设置一个最大节点,数量,在setNext()方法中判断是否已经超过阀值,超过则不允许该链创建,避免出现超长链无意识地破坏系统性能。
- 采用了类似递归的方式,调试时比较复杂;
- 最佳应用场景:有多个对象可以处理同一个请求时,比如:多级请求、请假/加薪等审批流程,Java web 中Tomcat对encoding的处拦截器。
以上是 设计模式行为型职责链模式 的全部内容, 来源链接: utcz.com/z/512363.html