- 135 名前:デフォルトの名無しさん mailto:sage [2006/06/04(日) 20:30:10 ]
- たとえば後からStateに夕方を追加したくなったとすると
Stateを使わない方法では 1.currentStateに状態をセットする箇所に夕方の場合を追加 2.showMessageの中のifやswitchに夕方の場合を追加 showMessage以外にも似たメソッドがあったらそれら全ての中のswitch文を更新しなきゃならん。 つまり2の作業があちこちに散らばっていて見落としが起こりがちだし ちょっと間違えると既存の朝昼夜の動作にもに影響が出かねない。 Stateクラスとしてまとまっている方法では 1.currentStateに状態をセットする箇所に夕方の場合を追加 2.夕方クラスを追加 クラスを増やすぶん、追加すべきコード量自体はむしろStateを使わない場合より多くなりそうだが 2の作業については変更箇所が新規クラスの追加という形で一箇所にまとまっているため 既存の朝昼夜は基本的に触らなくてすむ。
|

|