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

asp网站开发实训公司注册资金50万和100万的区别

asp网站开发实训,公司注册资金50万和100万的区别,视频制作软件手机版,有什么网站可以接单做兼职的原理和实现 模板模式变化的是其中一个步骤,而责任链模式变化的是整个流程。 将请求的发送和接收解耦合,让多个接收对象有机会可以处理这个请求,形成一个链条。不同的处理器负责自己不同的职责。 定义接口 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/632307/

相关文章:

  • php做网站代码在线二级域名子域名查询
  • 易思企业网站管理网站定制方案
  • 网站建设的公司上海编程软件免费中文版
  • 建设银行假网站南京小程序开发哪家好
  • 免费网站建设塔山双喜广州网站建设哪个公司做得好些
  • 网站怎么加二级域名wordpress 数据表 插件
  • 四平做网站佳业网络网站建设公司推销
  • 怎么面试一个网站开发的人祥云网站推广
  • 南昌自主建站模板襄阳市建设公司网站
  • 小县城做婚礼网站网站首页flash制作
  • 程序代码优化网站编程培训机构
  • 天津网络推广网站建设公司用什么技术做网站
  • 制作网页网站教程适合发朋友圈的营销广告
  • 网站用户注册增加办法小说网站的阅读界面怎么做的
  • 广东 网站建设如何做网站图片
  • 网站做我女朋友中国第一作文网官网
  • 环保网站建设说明呼和浩特企业网站
  • 亿网行网站建设114企业网电力建设期刊网站
  • 建筑网站 法人签字麻将app开发公司
  • 广州百度关键词推广沈阳百度seo关键词优化排名
  • 安徽省工程建设信息网网站网站影响seo的标签
  • 网页设计入门教学视频网络优化软件
  • 佛山做网站推广常州做网站包括哪些
  • 中色冶金建设有限公司网站泰安网上房地产
  • 深圳市深圳市住房和建设局网站首页网站地图的制作
  • 自己的电脑做网站服务器吗深圳航空公司最新官网
  • 科技服务网站建设方案沂水网站优化
  • 建设淘宝客网站技术支持 哈尔滨网站建设
  • 云南做网站价格网站建设教学廊坊
  • 为什么建设厅的网站不好打开网站建设的基本要素