责任链模式 有感
来源:互联网 发布:一句话一个故事 知乎 编辑:程序博客网 时间:2024/06/11 13:00
最近看netty 源码时看到有用到责任链模式,所以来学习下。 实现责任链模式代码后,觉得这个模式用的可能少, 但是用起来时基本上可能都是框架范畴的了吧。
责任链模式的实现过程:链条嘛,就是一个传一个,在传的时候有一个人来负责处理客户提过来的请求吧。
理解为:Client 有个 request 然后服务端 有个Handler来处理你的请求,Client 不需要知道你们是怎么处理的,我只要把请求发给你了,你处理好了跟我说就可以了。而对这个请求,服务端的Handler 处理者很多,每个处理者都有不同的范围,你处理不了丢给他吧,然后依次传下去,值到最后一个处理者。
如果用Java 来实现,可定需要设计两个类, Client 类,Handler类并提供 抽象方法暴露给Client 用,Handler 的继承者很实现自己不同权限的处理方法,如何把这个请求传递下去呢?所以Handler类里面有个 protected Handler successor属性 ,把处理不的事丢给successor,并且每个继承者可以设置他的successor是谁,这样责任链就成功实现了。 为了方便,可以用一个工厂方法来实例这些处理者,并设置他的successor是谁。
阅读全文
0 0
- 责任链模式 有感
- 责任链模式
- 深入浅出责任链模式
- 责任链模式
- 责任链模式
- 深入浅出责任链模式
- 责任链模式(一)
- 责任链模式(二)
- 责任链模式(三)
- 责任链模式
- java责任链模式
- 责任链模式
- 责任链模式
- 责任链模式
- 责任链模式
- 责任链模式
- c++ 责任链模式
- java责任链模式
- 小M开发_MySQL零基础_day170629
- 机器学习之numpy和matplotlib学习(七)
- try
- HashMap HashTable TreeMap区别
- Hive数据类型、文件格式和数据定义
- 责任链模式 有感
- iOS编程学习五
- fiddler抓取https请求-移动端
- 使用localStrorage保存客户端数据
- java笔记
- 欢迎使用CSDN-markdown编辑器
- String、StringBuffer与StringBuilder之间区别
- javascript string 性能对比
- 去除inline-block元素间间距的N种方法