【发布时间】:2018-12-11 18:52:07
【问题描述】:
我正在实现此设计模式(过滤器)的细微变化 https://www.tutorialspoint.com/design_pattern/filter_pattern.htm
我遇到的是,我需要过滤一个对象列表的字符串属性(比如“名称”)。
这里的问题是,我应该为现有的每个名称实现一个过滤器/标准类吗? 我真的不这么认为。应该有更好、更模块化的方式来适应这个:
请看,java 中的接口要求其中的每个方法都由类实现。这意味着,如果我想创建一个 NameCriteria 类,我不能给它的方法meetCriteria(List<Person> persons) 两个参数(比如要过滤的字符串)。
是否有一种实用且硬编码较少的方法来实现此模式,所以我可以创建一个meetCriteria(List<Person> persons, String name) 方法,或任何解决方法?
【问题讨论】:
-
我目前正在对设计模式进行外部过滤功能,但感觉不自然。如果我没有得到更好的解决方案,我会在几天后在这里发布我的解决方法。
标签: java oop design-patterns refactoring