标签:
在设计模式不清楚的情况下,学习各种框架不仅难学懂,也难理解,即使理解也不够深刻。
为了走更远的路,从基础抓起,每天坚持前进一小步!
虽然即将毕业,虽然路途很远,没有梦想何必远方!
package edu.designpattern.chainofresponsibility; import java.util.ArrayList; import java.util.List; import org.junit.Test; /** * 责任链设计模式 * 模型练习 * * @author helingfeng * 编写日期:2015/04/28 **/ //过滤器接口 interface Filter { public String doFilter(String result); } /**责任链设计模式**/ public class FilterChain implements Filter{ //责任链上所有过滤器 List<Filter> filters = new ArrayList<Filter>(); //利用责任链进行操作 public String doFilter(String str) { String result = str; for(Filter filter : filters){ result = filter.doFilter(result); } return result; } //责任链进行初始化 public FilterChain addFilter(Filter f){ this.filters.add(f); return this; } //测试 @Test public void test(){ String str = "<a>我是异常信息</a>"; FilterChain chain = new FilterChain(); HTMLFilter htmlFilter = new HTMLFilter(); KeysFilter keysFilter = new KeysFilter(); chain.addFilter(htmlFilter).addFilter(keysFilter); System.out.println(chain.doFilter(str)); } } /**HTML 过滤器实现 * * 将含<>标签信息转化为[] * **/ class HTMLFilter implements Filter{ //对接口进行实现 public String doFilter(String result) { result = result.replaceAll("<", "[").replaceAll(">", "]"); return result; } } /**KEY 关键字过滤器实现 * 将设定的关键字进行更替 **/ class KeysFilter implements Filter{ String[] keys = {"错误","异常","失败"}; //对接口进行实现 public String doFilter(String result) { for(String key : keys){ result = result.replaceAll(key, "正常"); } return result; } }
标签:
原文地址:http://www.cnblogs.com/helingfeng/p/4461859.html