设计模式之 过滤器模式

 

这种模式允许开发人员使用不同的标准来过滤一组对象,通过逻辑运算以解耦的方式把它们连接起来。

这种类型的设计模式属于结构型模式,它结合多个标准来获得单一标准。

 

举例:

场景:中国移动有很多营销活动,而参加这些营销活动的对象是有要求的,有的需要判断在网时长,有的需要有最低套餐要求等。

实现:制定不同的规则来对一组对象进行过滤,然后对过滤结果进行分组。

目标角色:中国移动客户
过滤器角色:不同营销活动的要求

 

过滤器模式包含如下两个角色:

  (1) AbstractFilter(抽象过滤器角色):定义过滤的方法。
  (2) ConcreteFilter(具体滤器角色):实现过滤的方法,对目标对象集合进行逻辑过滤,最后再返回一个过滤后的集合。
  (3) Subject(被过滤角色):目标角色,源数据,具体过滤器会对其进行逻辑处理。

 

共同学习,共同进步,若有补充,欢迎指出,谢谢!

 

posted @ 2019-10-15 10:58  逆水行舟,平原走马  阅读(368)  评论(0编辑  收藏  举报