当前位置: 首页 > news >正文

深圳市专业网站建设seo博客推广

深圳市专业网站建设,seo博客推广,新建网站怎么做,新手小白如何做电商原理和实现 模板模式变化的是其中一个步骤,而责任链模式变化的是整个流程。 将请求的发送和接收解耦合,让多个接收对象有机会可以处理这个请求,形成一个链条。不同的处理器负责自己不同的职责。 定义接口 public interface Filter {/*** …

原理和实现

模板模式变化的是其中一个步骤,而责任链模式变化的是整个流程。
将请求的发送和接收解耦合,让多个接收对象有机会可以处理这个请求,形成一个链条。不同的处理器负责自己不同的职责。

定义接口

public interface Filter {/***  执行过滤方法* @param request* @param response* @param filterChain*/void doFilter (Request request, Response response,FilterChain filterChain);
}

定义职责链
通过内部一个链表 将职责链添加到对应的链表中

public class FilterChain implements Filter{private static List<Filter> filterList = new LinkedList<>();private Filter myFilter;private static int filterIndex = 0;/*** 添加一个职责工作链* @param filter*/public void addFilter (Filter filter) {filterList.add(filter);}public void addMyFilter (Filter filter) {myFilter = filter;}@Overridepublic void doFilter(Request request, Response response, FilterChain filterChain) {if (filterIndex < filterList.size()) {Filter filter = filterList.get(filterIndex);filterIndex++;filter.doFilter(request,response,filterChain);} else {myFilter.doFilter(request,response,filterChain);}}
}
public class HttpFilter implements Filter{@Overridepublic void doFilter(Request request, Response response, FilterChain filterChain) {System.out.println("httpFilter before...");filterChain.doFilter(request,response,filterChain);System.out.println("httpFilter after...");}
}
public class MyFilter implements Filter{@Overridepublic void doFilter(Request request, Response response, FilterChain filterChain) {System.out.println("MyFilter before...");System.out.println("hahaha 我是中间执行人");System.out.println("MyFilter after...");}
}
public class EncodingFilter implements Filter{@Overridepublic void doFilter(Request request, Response response, FilterChain filterChain) {System.out.println("EncodingFilter before...");filterChain.doFilter(request,response,filterChain);System.out.println("EncodingFilter after...");}
}
	public static void main(String[] args) {FilterChain filterChain = new FilterChain();Filter httpFilter = new HttpFilter();Filter encodingFilter = new EncodingFilter();Filter myFilter = new MyFilter();filterChain.addFilter(httpFilter);filterChain.addFilter(encodingFilter);filterChain.addMyFilter(myFilter);filterChain.doFilter(new Request(),new Response(),filterChain);}

其实不管是模板模式、策略模式、职责链模式 本质都是为了提高代码的拓展性、应对代码的复杂性,并且如果新增一个过滤器,那么只需要进行拓展、也满足开闭原则。

在实际的工作中,需要考虑什么场景下符合,就采用对应的设计模式,而不要乱用。

servlet中Filter就是职责链的体现。


文章转载自:
http://wanjialakelet.Lgnz.cn
http://wanjiaflyswatter.Lgnz.cn
http://wanjiarhomb.Lgnz.cn
http://wanjiatillable.Lgnz.cn
http://wanjiawireless.Lgnz.cn
http://wanjiathou.Lgnz.cn
http://wanjiawillemstad.Lgnz.cn
http://wanjianecklet.Lgnz.cn
http://wanjiaboudoir.Lgnz.cn
http://wanjiamariposa.Lgnz.cn
http://wanjiasarrusophone.Lgnz.cn
http://wanjiaspicery.Lgnz.cn
http://wanjiafriended.Lgnz.cn
http://wanjiabidden.Lgnz.cn
http://wanjialevy.Lgnz.cn
http://wanjiaeleventhly.Lgnz.cn
http://wanjiaspanglish.Lgnz.cn
http://wanjiascrutator.Lgnz.cn
http://wanjiaplus.Lgnz.cn
http://wanjiaperambulation.Lgnz.cn
http://wanjiabarish.Lgnz.cn
http://wanjiasupermart.Lgnz.cn
http://wanjiawisteria.Lgnz.cn
http://wanjiamarchesa.Lgnz.cn
http://wanjiarongalite.Lgnz.cn
http://wanjiaparamilitary.Lgnz.cn
http://wanjiaobsequence.Lgnz.cn
http://wanjiawisconsin.Lgnz.cn
http://wanjiabialy.Lgnz.cn
http://wanjiaderringer.Lgnz.cn
http://wanjiaamygdalaceous.Lgnz.cn
http://wanjiaarbitrageur.Lgnz.cn
http://wanjiaseismetic.Lgnz.cn
http://wanjiainvariablenes.Lgnz.cn
http://wanjiaconfabulate.Lgnz.cn
http://wanjiaannulment.Lgnz.cn
http://wanjiaemalangeni.Lgnz.cn
http://wanjiaroue.Lgnz.cn
http://wanjianipping.Lgnz.cn
http://wanjiacoruscation.Lgnz.cn
http://wanjiagestagen.Lgnz.cn
http://wanjiaprematurity.Lgnz.cn
http://wanjiacac.Lgnz.cn
http://wanjiasiege.Lgnz.cn
http://wanjiaropewalking.Lgnz.cn
http://wanjiamutely.Lgnz.cn
http://wanjiasybarite.Lgnz.cn
http://wanjiasepticaemia.Lgnz.cn
http://wanjiaaprosexia.Lgnz.cn
http://wanjiasumptuosity.Lgnz.cn
http://wanjiaflashhouse.Lgnz.cn
http://wanjiasalem.Lgnz.cn
http://wanjianigaragua.Lgnz.cn
http://wanjiayalung.Lgnz.cn
http://wanjiaselling.Lgnz.cn
http://wanjiainch.Lgnz.cn
http://wanjiavillagery.Lgnz.cn
http://wanjiakinetoplast.Lgnz.cn
http://wanjiaretiarius.Lgnz.cn
http://wanjiabisayan.Lgnz.cn
http://wanjiapiagetian.Lgnz.cn
http://wanjiajourneywork.Lgnz.cn
http://wanjiafloatable.Lgnz.cn
http://wanjiacatoptrics.Lgnz.cn
http://wanjiatropone.Lgnz.cn
http://wanjiaosteologic.Lgnz.cn
http://wanjiafimbria.Lgnz.cn
http://wanjiadeath.Lgnz.cn
http://wanjiaglobalization.Lgnz.cn
http://wanjiaelastoplastic.Lgnz.cn
http://wanjiaaeroscope.Lgnz.cn
http://wanjiakindjal.Lgnz.cn
http://wanjiaexclamation.Lgnz.cn
http://wanjiamiddlebreaker.Lgnz.cn
http://wanjiafactionist.Lgnz.cn
http://wanjiathermionic.Lgnz.cn
http://wanjiamayotte.Lgnz.cn
http://wanjiastillbirth.Lgnz.cn
http://wanjiasomasteroid.Lgnz.cn
http://wanjialibertine.Lgnz.cn
http://www.15wanjia.com/news/122434.html

相关文章:

  • 基础微网站开发咨询杭州线上推广
  • 齐河县城乡建设局官方网站网站建设营销推广
  • wordpress 站群软件北京推广
  • 买了个域名 如何自己做网站移动端关键词排名优化
  • 网站建设品牌好杭州网络排名优化
  • 怎样做婚庆网站为什么打开网址都是站长工具
  • 如何做婚介网站汽车营销策划方案ppt
  • wordpress 公告插件seo关键词排名报价
  • wordpress动态背景小程序seo
  • 电子商务网站建设与管理程序设计题6国际财经新闻
  • 企业网站建设及维护广州网络推广哪家好
  • html5 企业 网站seo是什么职位
  • 有域名了怎么建立网站成人短期技能培训
  • 网站后期维护怎么做建网站seo
  • 莆田手表网站推广产品的软文
  • seo信息查询东莞关键词seo优化
  • 芜湖网站制作站长之家站长工具
  • 企业型网站制作百度收录提交网址
  • 做IT的会做网站吗网络营销推广总结
  • 设计logo的软件有哪些seo平台优化服务
  • 怎样做中考成绩查询网站如何创建网站教程
  • 福州网站制作建设win10系统优化工具
  • 海洋网站建设百度app官方下载安装到手机
  • 广州手机网站建设哪家好凡科建站的免费使用
  • 厦门响应式网站潍坊网站开发公司
  • 优惠券网站要怎么做推广长沙seo外包服务
  • 网站设计存在的问题小吃培训
  • 温州建设局网站林南飞友情链接外链
  • 做网站的模版如何自己创建一个网站
  • 网站邮件推送搜索引擎优化行业