2006-01-25 パターン指向リファクタリング:Strategyによる条件判断の置き換え Tech 例 いくつかの計算方法のうち、どれを実行するかを、メソッド内の条件ロジックで制御 対処 計算方法ごとにStrategyを作成 元のメソッドは計算処理をStrategyのインスタンスに委譲 2つの対処法 オブジェクトのコンポジション オブジェクトの継承>ポリモーフィズムによる条件記述の置き換え アルゴリズムが含んでたクラス=コンテキスト このパターンについておもう事 選択肢が多い>リファクタする際に考慮する項目が多い 利点 条件ロジックが減る 実行時にアルゴリズムを入れ替え可能 欠点 条件記述の単純化(F)の方が楽な場合も アルゴリズムがコンテキストクラスとデータをやり取りする方法が複雑に・・・ ほんとにメモだな。 実装例はどうも頭に入っていかなったorz