责任链模式



 责任链模式就是Chain Of Responsibility简称COR模式.

 

在这个模式中主要的角色是处理器,称为Handeler,每一个Handeler都有一个属性successor,这是一个指向后一个元素的引用,这样从第一个元素开始就形成了一个"链".每个Handeler还有HandelerProcess方法,称之为Handeler的处理方法,根据传入的参数或其他条件判断是在这个Handeler处理还是交由后一个Handeler(也就是successor)处理。 

 

此外还有一个辅助的类称之为Factory,这个类用来构造整个Handeler链(责任链),并且还有一个可以获取链头元素的getHead方法(可以使用其他的方法签名),整个模式的类图为:

 

 



 

 

 

java web中的过滤器就是采用了COR模式,在web.xml可以注册很多的过滤器,每个过滤器起作用的url或其他条件不同,服务器充当了Factory的角色,当http请求到来时,先交由第一个过滤器处理,如果是本过滤器处理就调用自己的处理方法,处理完后交由下一个过滤器处理,如果不是本过滤器处理则直接交由下一个过滤器处理,直到请求通过所有的过滤器,到达请求的的目的地(jsp、servlet或其他资源)进行处理.

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值