1

optional多くの場合、コンストラクターにはオブジェクトの作成中にいくつかのパラメーターがあります。それらは後でセッターで設定されます(例:遅延初期化中)。

私の質問は、コンストラクターまたはセッターを介してパラメーターをまったく設定できない場合があるということです。この質問のために、私はそのようなインスタンス変数を - と呼んでいますdormant。標準的なピザの例を想定しPizza(cheese, chicken, toppings).ます。顧客はトッピングを望まず、残す場合がありますdormant.

これは悪い習慣と見なされますか? dormantはいの場合、そのようなクラスをインスタンス変数で消去する既知のパターンはありますか?

4

1 に答える 1

2

Decorator パターンが必要だと思います。

デコレーター パターンを使用して、特定のオブジェクトの機能を静的に拡張 (装飾) することができます。また、場合によっては実行時に、同じクラスの他のインスタンスとは独立して使用することもできます。

ここで .NET の例を参照してください。

実際の例で「デコレータパターン」を理解するのを手伝ってください。

ここに Java の例があります。

Gang of Four – Decorator デザイン パターンで装飾する

于 2013-10-30T08:58:50.837 に答える