责任链模式 有感

     最近看netty 源码时看到有用到责任链模式,所以来学习下。 实现责任链模式代码后,觉得这个模式用的可能少, 但是用起来时基本上可能都是框架范畴的了吧。

    责任链模式的实现过程:链条嘛,就是一个传一个,在传的时候有一个人来负责处理客户提过来的请求吧。

    理解为:Client 有个 request  然后服务端 有个Handler来处理你的请求,Client 不需要知道你们是怎么处理的,我只要把请求发给你了,你处理好了跟我说就可以了。而对这个请求,服务端的Handler 处理者很多,每个处理者都有不同的范围,你处理不了丢给他吧,然后依次传下去,值到最后一个处理者。 

       如果用Java 来实现,可定需要设计两个类, Client 类,Handler类并提供 抽象方法暴露给Client 用,Handler 的继承者很实现自己不同权限的处理方法,如何把这个请求传递下去呢?所以Handler类里面有个 protected Handler successor属性 ,把处理不的事丢给successor,并且每个继承者可以设置他的successor是谁,这样责任链就成功实现了。 为了方便,可以用一个工厂方法来实例这些处理者,并设置他的successor是谁。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值