`
yangwei0915
  • 浏览: 461515 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

责任链模式

阅读更多



 责任链模式就是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或其他资源)进行处理.

 

  • 大小: 9.4 KB
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics