首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件开发 >

设计方式:责任链

2012-08-29 
设计模式:责任链package com.bjsxt.dp.filterpublic class Main {/** * @param args */public static voi

设计模式:责任链

package com.bjsxt.dp.filter;public class Main {/** * @param args */public static void main(String[] args) {String msg = "大家好:),<script>,敏感,被就业,网络授课没感觉,因为看不见大家伙儿";MsgProcessor mp = new MsgProcessor();mp.setMsg(msg);FilterChain fc = new FilterChain();fc.addFilter(new HTMLFilter())  .addFilter(new SesitiveFilter())  ;FilterChain fc2 = new FilterChain();fc2.addFilter(new FaceFilter());fc.addFilter(fc2);mp.setFc(fc);String result = mp.process();System.out.println(result);}}


------------------------------
package com.bjsxt.dp.filter;public class MsgProcessor {private String msg;//Filter[] filters = {new HTMLFilter(), new SesitiveFilter(), new FaceFilter()};FilterChain fc;public FilterChain getFc() {return fc;}public void setFc(FilterChain fc) {this.fc = fc;}public String getMsg() {return msg;}public void setMsg(String msg) {this.msg = msg;}public String process() {return fc.doFilter(msg);}}

-------------------------------
package com.bjsxt.dp.filter;public interface Filter {String doFilter(String str);}

---------------------------------
package com.bjsxt.dp.filter;import java.util.ArrayList;import java.util.List;public class FilterChain implements Filter {List<Filter> filters = new ArrayList<Filter>();public FilterChain addFilter(Filter f) {this.filters.add(f);return this;}public String doFilter(String str) {String r = str;for(Filter f: filters) {r = f.doFilter(r);}return r;}}

package com.bjsxt.dp.filter;public class HTMLFilter implements Filter {@Overridepublic String doFilter(String str) {//process the html tag <>String r = str.replace('<', '[')   .replace('>', ']');return r;}}

热点排行