请登录

Github帐号登录
博主提供技术支持服务,项目代做等服务QQ975532442
  • 首页
  • 博客
  • 算法
  • 前端
  • Linux
  • 数据库
  • 后端
  • 标签
  • 友情链接
  • 登录
  • 注册
1774°
牧码人
发表于: 2019-09-16 16:44

23个设计模式之职责链模式

什么是职责链模式

来自大话:"使多个对象都有机会处理请求,从而避免请求者跟发送者何接收者的请求耦合关系,将请求连成一条链,并沿着该链传递该请求,直到有个对象处理他为止"。 职责链模式类图.png

这个模式可以联想到这么一个场景,在公司请假。在公司请假,首先你提交请假条,然后经理审批,经理审批好了,人事审批,人事审批在给总经理审批。

client:我们 handler:公司领导抽象层 setSuccessor():指定自己上一层领导人 ConcreteHandler:具体领导人 request:具体请求对象

在这个设计中handler的数据结构就是链表,这里只给了上级,当然在具体的业务设计中我们还可以设计一个下级。每个handler都有处理请求的方法,根绝请求对象状态去判断怎么处理。但是每个处理者的上级要在客户端就设置好。

职责链模式的好处

  • 解耦合
  • 符合开闭原则

所有设计模式都是这几个特点,所以最主要的还是要看懂他的设计。


注意:本文归作者所有,未经作者允许,不得转载

点赞 0
#设计模式 #java
阅读全部

已有 0 条评论

    我有话说: @

    热门文章

    1. java根据模板导出pdf(带源码)

      5907 阅读
    2. webSocket部署到远程服务器连接不上

      4665 阅读
    3. 本站看点

      4510 阅读
    4. 史上最详细linux上安装mysql(centos7)

      3946 阅读
    5. 23种设计模式合集(学习笔记)

      3845 阅读
    6. 记一次Git fork的经历

      3498 阅读
    7. 1.服务的注册与治理(eureka)

      3297 阅读
    8. 2018第九届届蓝桥杯国赛回顾(真题解析)

      3289 阅读
    Copyright © 牧码人 赣ICP备2022000459号