设计模式即设计模式思想,也就是说责任链模式其实是责任链思想。那么责任链思想是什么思想呢?
责任链模式的思想 有人说是if else的解耦,有人说是switch case的解耦~ 不止如此 如果只因为一个if else,switch case而使用责任链模式 那么就太小题大做了 其实责任链模式思想是 就是 流程化处理一个请求 ,, 有A B C D 处理 一个请求过来 先处理A 如果A处理完了 就B如果B处理完了 然后C 然后D 如此处理完这个请求~
责任链模式很多长得不一样。但一定有2部分 :1 ,责任链条 2,处理的类处理方法
1, 一般 责任链条 很多种写法 有类里面有成员变量的,有单项链表 ,也有双向链表 ,还有List类型的。不管哪种都形成一条责任链。
2,对应的处理类,一般都实现一个接口或者一个抽象类 这个抽象类一般就是责任链条类~ 处理方法一般在最后交给链条的下一个去处理~ 但是也有些特殊情况 不在方法的最后交给下一个人责任的对象处理 ,这种形式更为复杂,也使用的比较少
责任链的使用场景: 现已知的 一般是处理服务端请求,处理客户端请求时候 用的比较多 像okhttp netty等
附上盗过来的UML图