私はいくつかの条件を持っています-
List globalList = new ArrayList();
if(X.isExists)
globalList(new XBasedClass());
if(Y.isExists && Z.isExists)
globalList(new ZYBasedClass());
else if(Y.isExists || Z.isExists)
globalList(new CommonBasedClass());
if(N.isExists)
....
最初はState Patternを使用することを考えましたが、条件ごとにクラスを宣言する必要があり、クラスの数を制限したいことに気付きました。
次に、 Decorator Patternを使用することを考えましたが、再び上記の条件チェックが必要になり、それが必要な場合は上記のループで問題が発生します。
私の条件は、新しいクラスを List に追加するだけでよく、将来的に条件の数が増えても、作業は同じままです。つまり、リストを更新します。
そのため、条件を検証し、それに応じてリストを更新するだけの静的メソッドを使用してプライベート クラスを作成しました。
それを達成するためのより良い推奨設計はありますか