Java设计模式系列--责任链模式(应用)

原文网址:Java设计模式系列--责任链模式(应用)_IT利刃出鞘的博客-CSDN博客

简介

说明

本文介绍Java设计模式中的责任链模式的一些使用场景。

责任链模式的好处

  1. 符合单一职责原则
    1. 每个功能都作为链路上的一个节点
  2. 符合开闭原则
    1. 有新的功能的时候再添加一个新的处理器即可,不需要动其他的处理器。

项目实例

在下边两个项目场景中,我用到了责任链模式。

1. 用户权限

用户经过Authentication和Authorization之后,还需要校验用户是否被禁用、是否允许多端登录等逻辑。

2. 发短信

发短信需要检查:是否在黑名单中,是否超过了每天最高的发短信次数,平台是否配置了短信功能等。

框架的应用

Spring Servlet的过滤器和拦截器。

JS的事件冒泡。

责任链与for循环的思考

责任链模式大概是这样的:

  1. 指定各个处理器的顺序
  2. 将所有处理器注册到一个集合中。
  3. 确定本处理器是否处理,是否调用下一个处理器

对于后端来说,可以将各个处理器注册到Spring容器,然后将其作为List注入,可以通过@Order来控制顺序。这样一来,其实可以通过for循环来完成跟责任链模式一样的作用,而且比责任链用起来更加简洁。

设计模式作为一种思路,其实本身应该脱离框架,适用于多种编程语言、多种框架。理解它,可以对很多类似的场景融会贯通。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

IT利刃出鞘

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值