私は、入力がパラメータ(例えばA、B、C、D)とデータ(XYZ)を設定するユースケースを持っています。パラメータ(A、B、C、D)に基づいて、データ(XYZ)を処理して返信する必要があります。処理ロジックは、パラメータに基づいて一意または共通にすることができます(A、C、Dの場合は#2、B、C、Dなどの場合は#2を実行します)。私はまた、処理の順序を維持する必要があります。私のユースケースに使用するデザインパターンは何ですか?
現在の実装はif-elseループに基づいています。私は責任の連鎖、パイプラインの設計パターンを見ています。しかし、上記の作業のための他の適切なデザインパターンはありますか?
I/P:A = {A1、A2、A3}、B = {B1、B2、B3}、C = {C1、C2、C3}、Dのif-elseブロックを使用
例= {D1、D2、D3}及びXYZ = "foo" という
if (A == A1)
{
//dosomething-A1
if (B == B1)
{
//dosomething-B1
if (C == C2)
{
//dosomething-C2
}
}
else if (B == B2)
{
//dosomething-B2
}
if (C == C2)
{
//dosomething-C2
if (D == D1)
{
//dosomething-D1
}
else if (D == D3)
{
//dosomething-D3
}
}
}
else if (A == A2)
{
//dosomething-A2
...
}
else if (A == A3)
{
//dosomething-A3
...
}
downvoteするつもりなら、理由を残してください。そして、@ジョシ、私は質問を理解するが、あなたが与えたユースケースは非常に抽象的なです。もっと詳細を伝えることができますか、これまでのコードを投稿することはできますか? –
私はdownvoteはこれが意見に基づいているからだと思う。トピック:私はこれに答えるためにもっと多くの情報が必要だと思います。データ処理は各パラメータに対して順次実行されるか、またはすべてが一度に実行されますか?パラメータはお互いに依存していますか?そこに4つ以上のパラメータがありますか?匿名クラスはここでは多くの問題を解決できますが、パターンは必要ありません。 –
私は、デザインパターン(または一般的なデザイン)に関する議論は意見に基づくと思います。それでも重要な議論です:-) –