下载此文档

设计模式总结-责任链模式.doc


文档分类:行业资料 | 页数:约12页 举报非法文档有奖
1/12
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/12 下载此文档
文档列表 文档介绍
设计模式总结-责任链模式.doc:..注:文档内容基本上来自于网上,并加上自己的理解而成。有的觉得网友总结得非常好,就主全照搬下来,供学习之用。然而,有的摘抄并没有加上原链接和出Filterchain例子(本例子模拟回路式的一个链式处理,要求输入按1,2,3这样的处理,而输出则再次需要以3f2,1的方式处理):publicinterfaceIFilter{publicvoiddoFilter(RequestrequestResponserespons巳FilterChainchain);}lassHTMLFilterimplementsIFilter{***@OverridepublicvoiddoFilter(Requestrequest,ResponseresponsezFilterChainchain){StringrequestStr=().replaceAII("<",T).replaceAII(">","]")+"…HTMLFilter";(requestStr);(request,response);StringresponseStr=().replaceAII(H\\"<").replaceAII("\\]"z">")+ -HTMLFilter";(responseStr);}}lassSensitiveFilterimplementsIFilter{***@OverridepublicvoiddoFilter(Requestrequest,Responseresponse,FilterChainchain){//TODOAuto-^”six”)+H—SensitiveFilter");(request,response);(().replaceAII("six,,/"seexxx'1+SensitiveFilter"));lassFilterChain{publicList<IFilter>filterChain=newArrayList<IFilter>();publicintcount=0;publicvoidaddFilter(IFilterfilter){(filter);publicvoiddoFilter(Requestrequest,Responseresponse){if(count>=)return;(count++).doFilter(request/response,this);}}测试代码:publicstaticvoidmain(Stringargs[]){Stringstr=n<Hl>,<H2>.Thisisasexfilm!";Stringstr2="[Haa]Thisisasixfilm!";Requestrequest二newRequest();(str);Responseresponse=newResponse();(str2);FilterChainchain=newFilterChain();(newHTMLFilterO);(newSensitiveFilter());(request,response);("Requeststr:+());("Responsestr:M+());}输出:Requeststr:[Hl],[H2].Thisisasixfilm!—HTMLFilter—-SensitiveFilterResponsestr:<Haa>Thisisaseexxx—SensitiveFilterfilm!——HTMLFilter注:链式处理有时候也叫做拦截器处理,其原理差不多。注意上面代码中如何实现对response以处理request刚好相反的次序处理的巧妙方法。httD:/

设计模式总结-责任链模式 来自淘豆网m.daumloan.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数12
  • 收藏数0 收藏
  • 顶次数0
  • 上传人ttteee8
  • 文件大小182 KB
  • 时间2019-11-14
最近更新