コレクションを選別するために使用される Predicate というインターフェイスを使用しています。たとえば、次のように定義できます
public class BlackCatPredicate implements Predicate<Cat> {
public boolean evaluate( Cat c ) {
return c.isBlack();
}
}
次に、いくつかのユーティリティfindAll( Collection<T> coll, Predicate<T> pred)
メソッドを使用して述語を猫のコレクションに適用し、黒いものだけを取得します。
私の質問は次のとおりです。コード全体で黒猫を見つけているので、BlackCatPredicate を何度もインスタンス化し続ける必要はありません。インスタンスは 1 つだけである必要があります。(シングルトン?) しかし、多くの述語を書く過程で、それぞれをシングルトンとして実装する必要はありません。では、ここでの適切な設計は何ですか?