例子:实现一个简单的过滤器
工程目录结构与执行原理:
1.Filter.java过滤器接口类
package filter;
public interface Filter {
public String doFilter(String str);
}
2.Filter1.java过滤器实现类
package filter.impl;
import filter.Filter;
public class Filter1 implements Filter{
@Override
public String doFilter(String str) {
str += "Filter1,";
return str;
}
}
3.Filter2.java过滤器实现类
package filter.impl;
import filter.Filter;
public class Filter2 implements Filter{
@Override
public String doFilter(String str) {
str += "Filter2,";
return str;
}
}
4.Processor.java过滤器执行类
import filter.impl.Filter1;
import filter.impl.Filter2;
public class Processor implements Filter{
Filter[] filters = {new Filter1(),new Filter2()};
public String doFilter(String str){
for(Filter f:filters){
str = f.doFilter(str);
}
return str;
}
}
5.Main.java程序主方法
import filter.Processor;
public class Main {
public static void main(String[] args) {
String str = "123,mxm,456,";
Processor p = new Processor();
str = p.doFilter(str);
System.out.println(str);
}
}
程序打印结果:
123,mxm,456,Filter1,Filter2,