Java设计模式之过滤器模式理解

Java过滤器设计模式,是针对一组数据按指定规则进行过滤,比如我们的实体类中有很多的属性,若存在某些属性就或不存在某些属性,我们进行移除或者保留

在网上找的一个例子

public class Person {

private String name;

private String gender;

}

Person是一个实体类,我们可以指定一个规则如果性别是男生或者女生才可以保留

我们先写一个接口,为什么写接口而不是直接写一个实体类直接过滤,因为接口可以为了后面实现,我们可以指定更多的规则全部实现这个接口即可

public interface Criteria {

public List<Person> meetCriteria(List<Person> persons);

}

这里面需要传一个Person集合数组

后面我们可以实现这个接口

public class ReserveMan implements  Criteria {

@Override

public List<Person> meetCriteria(List<Person> persons){

List<Person>  personList = new ArrayList<Person>();

for(int i = 0;i<persons.size();i++){

if("man".equals(persons.get(i).getGender())){//判断是不是男生

personList.add(persons.get(i));

}

}

}

}

 

ReserveMan就是我们自己写的过滤规则,后面如果需要进行过滤,直接调用meetCriteria方法可以进行过滤


版权声明:本文为weixin_42452839原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。