1.过滤器模式
1.1 定义
过滤器模式(Filter Pattern)或标准模式(Criteria Pattern)是一种设计模式,这种模式允许开发人员使用不同的标准来过滤一组对象,通过逻辑运算以解耦的方式把它们连接起来。这种类型的设计模式属于结构型模式,它结合多个标准来获得单一标准。
1.2 介绍
过滤器模式,顾名思义就是判断是否满足某种条件,如若满足,则通过,不满足,则拦截。如果有多种过滤器,则过滤器是按顺序执行的。
2. 代码实现
2.1. 定义一个类实现Filter接口
public class Loggable implements Filter {
@Override
public boolean isLoggable(LogRecord record) {
if(record.getLevel().equals(Level.INFO)){
return true;
}
return false;
}
}
2.2. 测试类
//满足上面的条件则返回true,不满足则返回false
public class Test {
public static void main(String[] args) {
Loggable loggable = new Loggable();
LogRecord record = new LogRecord(Level.INFO,"info级别");
boolean loggable1 = loggable.isLoggable(record);
System.out.println(loggable1);
}
}
/**
* true
*/
2. 过滤器模式优缺点
2.1 优点
- 将对象的过滤和抽取到一个独立的模块中,降低系统的复杂度。
- 过滤规则可以供整个项目使用。
2.2 缺点
性能较低,当需要过滤的数据量巨大时,这回降低程序的运行效率。