私は、コレクションを篩い分けするために使用されるPredicateというインターフェースを使用しています。例えば、私はJava:シングルトンとジェネリックスを使用したデザイン
私の質問はこれであるなど、
public class BlackCatPredicate implements Predicate<Cat> {
public boolean evaluate(Cat c) {
return c.isBlack();
}
}
を定義し、猫のコレクションに述語を適用するには、いくつかのユーティリティにfindAll(Collection<T> coll, Predicate<T> pred)
メソッドを使用して、ちょうど黒のものを得ることができます:私は」私のコード全体に黒い猫がいるので、BlackCatPredicateを繰り返し何度もインスタンス化する必要はありません。それはちょうど1つのインスタンスを持つべきです。 (シングルトン?)しかし、多くの述語を書く過程で、私はそれぞれをシングルトンとして実装する必要はありません。だから、ここで適切なデザインは何ですか?
私はおそらくCat自身ではなく、クラス "Cats"に入れます。 –