我正在使用一個名爲Predicate的接口,它用於篩選Collections。例如,我可以定義Java:使用單例和泛型進行設計
public class BlackCatPredicate implements Predicate<Cat> {
public boolean evaluate(Cat c) {
return c.isBlack();
}
}
,然後使用一些工具findAll(Collection<T> coll, Predicate<T> pred)
方法謂詞適用於貓的集合,並得到只是黑色的,等
我的問題是這樣的:我在我的代碼中找到黑貓,所以沒有必要一遍又一遍地實例化BlackCatPredicate。它應該只有一個實例。 (單身?)但是,在編寫許多謂詞的過程中,我不想將每個謂詞都實現爲單例。那麼 - 這裏的設計是什麼?
getBlackCatPredicate謂詞或BlackCatPredicate的返回類型?哪個更好看? – extraneon 2009-03-02 20:40:10
糟糕...我會返回一個謂詞。 –
TofuBeer
2009-03-02 20:44:35