私はHead First Design Patternsの本でこの例を見つけました。ピザクラスには、次のメソッドがあります。ピザのクラスデザイン
- は
- が
- が、私はこれらのメソッドはピザのクラスに行ってはならないと、彼らはに行くべきと考えてい
- ボックス
をカット焼く準備します別クラス。独身責任原則が違反しているという事実を無視しても、私はまだこれらが別のクラス(ピザストア)に入るべきだと考えています。
ご意見ください。
私はHead First Design Patternsの本でこの例を見つけました。ピザクラスには、次のメソッドがあります。ピザのクラスデザイン
をカット焼く準備します別クラス。独身責任原則が違反しているという事実を無視しても、私はまだこれらが別のクラス(ピザストア)に入るべきだと考えています。
ご意見ください。
は、私が実際に彼らはPizza
クラスである場合、彼らは状態の変化を表すことができて、それは、大丈夫だと思うので、クラスロジックの一部である:の状態を変更するために使用することができ
bake()
Pizza
オブジェクトです。最初はraw
であり、メソッド呼び出し後はbaked
となります。 (ハハ、焼き!)。
cut()
numberOfSlices
を変更することができます。当初、それは1
であり、続いて2
,4
と続きます。
これらのメソッドはもちろん外部から呼び出されますが、オブジェクトの状態が変更されます。私にとっては、彼らがクラスの一員であることは意味があります。
ここで工場パターンを実装しても問題ありません。 いくつかのメソッドを置くことができます。bakePizzaは、クラスではと言っています。PizzaFactoryは、Pizzaクラスのインスタンスを返します。
私はピザは、焼く前でさえまだピザだと信じています。 –
@LuchianGrigoreそれは哲学的な質問の多くです。 – adelphus
なぜ工場を望むのかわかりません。あなたは単にインスタンスを作成することはできません...なぜ彼らが求められていないデザインパターンを使用するのですか?あなたは議論がありますか? –
別のクラスに入れたい理由を説明できますか? – wrongusername