集団を表現するオブジェクトと要素を表現するオブジェクトを同じように扱えるようにする。
フォルダの中にファイル(葉)を存在したり、サブフォルダ(枝)を存在したり、さらにサブフォルダの中にもファイルやフォルダを存在したりするような構造を同一インタフェースで処理することによって、容易に扱えるようになる。
コンポジット(Composite)パターンの実装
1、Component抽象クラスを定義します
– 子データの追加、削除、アクセス
– 親データへのリンク
2、Leaf(葉)クラスを定義します
Componentを継承
3、Composite(枝)クラスを定義します
Componentを継承
構造の追加や削除など、構造を操作することが簡単にできるようになります。