话不多说,开始今天的文章
责任链模式的定义:
责任链是一种行为性的设计模式
通俗点讲:责任链其实就是将连续做处理的单元串成一条链,从链头一直到链尾执行下去或者中途不符合条件跳出
以下将通过登陆需求引出责任链模式,但并不是说这种情况下责任链模式会更加好
用户登陆时的需求:
1.判断用户是否存在
2.判断用户状态是否正常
3.判断密码是否正确
解决方案:
1 | scss复制代码MemberDO memberDO = memberMapper.selectByEmail(email); |
责任链模式解决方案
1 | scss复制代码MemberDO memberDO = memberMapper.selectByEmail(email); |
1 | kotlin复制代码public abstract class AbstractHandler<T> { |
具体处理者
1 | scala复制代码public class UserHandler extends AbstractHandler { |
优点:
- 降低耦合度
- 增加新的处理类方便
- 允许动态的修改处理类顺序以及个数
缺点:
- 链路太长性能受到影响
- 容易造成循环调用
本文转载自: 掘金