过滤器模式
最近开发中用到了这个,不是很懂,特意看了下菜鸟教程。
概述
过滤器模式(Filter Pattern)或标准模式(Criteria Pattern)是一种设计模式,这种模式允许开发人员使用不同的标准来过滤一组对象,通过逻辑运算以解耦的方式把它们连接起来。这种类型的设计模式属于结构型模式,它结合多个标准来获得单一标准。
代码例子
过滤模式的实现在java8里面有典型的应用方法就是分组操作,可以根据指定的指标进行分组筛选。
Map<Integer, List<Person >> groupMap = persons.stream().collect(Collectors.groupingBy(Person::getGender));
groupMap.forEach((k, v) -> {
System.out.println(k);
v.forEach(System.out::println);
});
还有一些重要的例子是用于数据库的筛选,用于构造一些example,插入到
select * from xxx where column = yyy;
总结
极大简化了开发人员的开发流程
策略模式
策略模式属于对象的行为模式。其用意是针对一组算法,将每一个算法封装到具有共同接口的独立的类中,从而使得它们可以相互替换。策略模式使得算法可以在不影响到客户端的情况下发生变化
实现
Map<String, Unit> unitMap = applicationContext.getBeansOfType(Unit.class);