为请求创建一个接受此次请求对象的链
类型:行为性
使用场景:
一个请求的处理需要多个对象当中一个或几个协作处理
优点:
请求的放松着和接收者(请求的处理)解耦
责任链可以动态组合
缺点:
责任链太长或者处理时间过长,影响性能
责任链过多
相关设计模式:
责任链模式和状态模式
各个对象不指定下一个要处理的对象是谁
状态模式是指定下一个需要指定的模式
coding
可以参见下面这一篇博文,角色比较清晰:
https://www.cnblogs.com/eaglediao/p/8133962.html
一般用于:校验,先后顺序,用户名是否存在,比如密码是否是弱密码等。
可以选择一个或者多校验元素。
根据下面的类图分别编写了对应类:
抽象类里面声明一个自己的Handler:
SpringSecurity中用到了责任链模式有兴趣可以自已研读一下啦
https://blog.csdn.net/liushangzaibeijing/article/details/81220610