以下の内容はhttps://tbpgr.hatenablog.com/entry/20120517/1337276301より取得しました。


書籍 Refactoring to Patterns | Generalization | Extract Composite

概要

Extract Compositeリファクタリングについて

使用する場面

2つ以上の似たクラスを保持している場合

対応方法

Compositeパターンを適用する。

利点と欠点

利点

・子の格納と処理の、重複を排除する
・子を処理するロジックのコミュニケーションを円滑にする

欠点

なし

手順

1.Compositeを作成し、どのような子を持つのか分かりやすい名前をつける

2.子コンテナ(階層のクラスが子のハンドリングに重複した証拠)にサブクラスを作らせる

3.子コンテナに、重複したコードを見つける。
似た処理のメソッドが一致しないならリネームする。
重複したメソッドにのために子のコレクションをフィールドの引き上げによって移動する。
メソッドの引き上げによって移動する。

4.3のステップを子コンテナにあるメソッド分繰り返す。

5.子コンテナの各クライアントを知るために、チェックする。

サンプル

サンプルはGoFデザインパターンCompositeパターン




以上の内容はhttps://tbpgr.hatenablog.com/entry/20120517/1337276301より取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14