パンくず
使用する場面
2つ以上の似たクラスを保持している場合
対応方法
Compositeパターンを適用する。
利点と欠点
利点
・子の格納と処理の、重複を排除する
・子を処理するロジックのコミュニケーションを円滑にする
欠点
なし
手順
1.Compositeを作成し、どのような子を持つのか分かりやすい名前をつける
2.子コンテナ(階層のクラスが子のハンドリングに重複した証拠)にサブクラスを作らせる
3.子コンテナに、重複したコードを見つける。
似た処理のメソッドが一致しないならリネームする。
重複したメソッドにのために子のコレクションをフィールドの引き上げによって移動する。
メソッドの引き上げによって移動する。
4.3のステップを子コンテナにあるメソッド分繰り返す。
5.子コンテナの各クライアントを知るために、チェックする。
サンプル
サンプルはGoFのデザインパターンのCompositeパターンへ