Java 过滤元件的设计模式

Java 过滤元件的设计模式,java,design-patterns,Java,Design Patterns,我想知道是否存在基于某些标准(例如它们的UUID)的过滤元素的设计模式。我在我的代码中使用了如下内容: if(meetsSomeCriteria(thing))){ doSomething() } 例如,在我的代码中,我使用映射根据元素的id过滤一些元素: if(!mymap.containsKey(myObject.getId())){ doSomething(); mymap.put(myObject.getId(), myObject); }

我想知道是否存在基于某些标准(例如它们的UUID)的过滤元素的设计模式。我在我的代码中使用了如下内容:

if(meetsSomeCriteria(thing))){
     doSomething()
}
例如,在我的代码中,我使用映射根据元素的id过滤一些元素:

if(!mymap.containsKey(myObject.getId())){
       doSomething();
       mymap.put(myObject.getId(), myObject);
   }
问题是这种代码在程序中无处不在。我想知道一个设计模式是否可以帮助我并给出一些提示/示例


谢谢

拦截过滤器是j2ee广泛用于过滤请求/响应的一种模式。您可以实现类似的功能。

拦截过滤器是j2ee广泛用于过滤请求/响应的一种模式。您可以实现类似的功能。

您可以使用来自apache的。比如:

Collection matches = CollectionUtils.select(collection, new Predicate() {
    public boolean evaluate(Object object) {
        // evaluate predicate
    }
});
在内部,它很可能只是在集合上迭代并执行谓词,但它保存了锅炉板代码。

您可以使用来自apache的。比如:

Collection matches = CollectionUtils.select(collection, new Predicate() {
    public boolean evaluate(Object object) {
        // evaluate predicate
    }
});

在内部,它很可能只是在集合上迭代并执行谓词,但它保存了您的锅炉板代码。

我不理解您的问题。你是在问是否有库可以为你做这件事,还是你在问是否有更好的方法来重构你的代码?我正在寻找一种更好的方法来重构我的代码,这样我就可以用一个更干净的clodeTake代替if看看番石榴古怪的问题。您的任务与设计模式的关系如何?嗨,我的代码中到处都有这种代码重复。我想知道设计模式是否可以帮助我重构代码我不理解你的问题。你是在问是否有库可以为你做这件事,还是你在问是否有更好的方法来重构你的代码?我正在寻找一种更好的方法来重构我的代码,这样我就可以用一个更干净的clodeTake代替if看看番石榴古怪的问题。您的任务与设计模式的关系如何?嗨,我的代码中到处都有这种代码重复。我想知道设计模式是否可以帮助我重构代码嘿,这很酷,还有通用版本吗?commons collections的发布主干上有(如果你进入svn repo)。似乎他们还没有发布一个稳定的/GA版本的泛型。嘿,这很酷,还有这个版本吗?在commons collections的发布主干上有(如果你进入svn repo)。似乎他们还没有发布一个稳定的/GA版本的泛型。