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

江苏网站备案流程专门给小公司做网站

江苏网站备案流程,专门给小公司做网站,帝国网站管理系统如何做商城,徐州智能建站怎么做原理和实现 模板模式变化的是其中一个步骤,而责任链模式变化的是整个流程。 将请求的发送和接收解耦合,让多个接收对象有机会可以处理这个请求,形成一个链条。不同的处理器负责自己不同的职责。 定义接口 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://www.yayakq.cn/news/524080/

相关文章:

  • 三门峡网站建设价格多语言网站开发
  • wordpress cenos昆明seo和网络推广
  • 网站前置审批证书网站建设案例欣赏
  • 昆明网站搭建贵阳网站建设天锐科技
  • 学生网站建设实训报告百度爱采购下载app
  • 龙岗网站建设价位网站运维托管
  • 在线设计平台的用户群分析企业门户网站优化
  • 江门制作公司网站上海网站建设思创
  • qq网站登录入口wordpress 搬家 插件
  • 九江有哪些免费推广网站企业网站 php 免费
  • 域名备案期间 网站访问可以做任务的网站有哪些
  • 库尔勒网站建设哪家专业上海模板网站建站
  • 免费公司网站模版手机网站开发视频
  • 电子网站设计南京做网站哪家好
  • 做图表好看的网站茂名专业网站建设
  • 素材图库网站源码南京做网站制作公司
  • 常用的网站推广重庆那里做网站外包好
  • 用群晖如何做公司网站郑州seo优化
  • 检察院门户网站建设成效微信商城开发推荐华网天下
  • wordpress建站云盘生成wap网站
  • 滨州公司网站建设推广wordpress主题vantage
  • 外贸公司网站有哪些wordpress电视直播代码
  • 微信网站主题商务咨询网站源码
  • 欧美做爰视频网站jsp网站开发的mvc
  • 一个公司网站开发多少钱扬州网站建设企业
  • 泰州建站免费模板网架公司安全员需要什么证书
  • 哈尔滨云建站模板江门学做网站课程
  • 霞山手机网站建设公司wordpress分段加载
  • 如何让自己做的网站在google搜索引擎上搜到山东省建设八大员考试网站
  • 网站被拔毛的原因轻创网