话不多,先上图
责任链模式其实很好理解,很多情况下我们都会遇到一个情形,去请假的时候 小于一天只需要向项目经理申请,大于一天小于两天需要向项目经理申请,再向总经理申请 ..... 以此类推,所以在遇到这种很明显的层级请求的时候我们就要想到责任链模式,不然一层一层的 if else 谁也晕
同时在这种情形下有几个变量需要控制和重视,1.层级之间的限制条件可能会变 例如 如果修改向项目经理申请的时间长度,例如两天,总经理五天,我们是不是得跑去改代码呢 2.如果下面有其他级别的领导呢,领导更换了怎么办 等等情形,所以很多时候我都在想"如果不想有人周末找你,那就在工作日把事情做好",我们需要把事情想得更周到一些。
回到原题,责任链模式就想上图其实就两种角色,一个统一的事务处理抽象类,一个抽象类的具体实现类
抽象类的 包含两种方法 1.事务处理方法 2.设置上级或下级事务处理类
Ok 很简单就这些