■目的
 ディレクトリとサブディレクトリ、ファイルの関係のように、容器と中身を同一視し、再帰的な構造を作るパターン。
 ツリー構造の実現に最適。
 ■メリット
- 集団を構成するクラスと要素を構成するクラスを一様に扱え、クラスの数を減らすことができる。
- ツリー構造全体を同じ方法で扱うことができる。
- 新しいグルーピング単位を容易に追加できる。
- 新しいコンポーネントを容易に追加できる。
■考慮事項
- 循環参照に注意する必要がある。
- 過度に適用しすぎると、論理的に正しくない構造を作り出してしまう恐れがある。たとえば、ツリー構造に親子関係があるのに、子の下に親を追加できたりしてしまうなど。
■関連しているパターン
- Commandパターン
 「マクロコマンド」を作るときに、Compositeパターンが使われる。
- Visitorパターン
- Decoratorパターン

 
 
コメントを残す