i3geek.com
闫庚哲的个人博客

Java设计模式——责任链模式

定义

将接收者对象连接成一条链,并在该链上传递请求,直到有一个接收者对象处理它。通过让更多对象有机会处理请求,避免了请求发送者和接收者之间的耦合。

作用

请求 ===> 第一个处理者 ===> 第二个处理者 … ===> 第n个处理者

比如:公司的层次结构,CEO、经理、运营员 的权限不同,遇到问题需要从下至上一层层传递。

实现

  • Handler(抽象处理者):定义一个处理请求的接口
  • ConcreteHandler(具体处理者):处理请求的具体类,或者传给下家

缺点

性能问题

应用

tomcat 的容器设置就是责任链模式(pipeline/filter),从 Engine 到 Host 再到 Context 一直到 Wrapper 都是通过一个链传递请求

实现源代码:https://github.com/yangengzhe/coding-guide_i3geek/tree/master/docs/%E8%AE%BE%E8%AE%A1%E6%A8%A1%E5%BC%8F

赞(0)
未经允许不得转载:爱上极客 » Java设计模式——责任链模式
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址