Compositeパターン

Compositeの意味

  • 「複合物」
  • Compositeパターンにおいての意味は「容器と中身を同一視する」こと。つまり容器と中身を区別なくあつかうことができる。

Compositeパターンとは

  • 登場するオブジェクトは「枝と葉」(と書いてあったけど、「容器と中身」の自分にはほうがわかりやすい。)
  • ツリーのような再帰なデータ構造を同一インタフェースで扱える
  • 要素であるオブジェクトと、複数の要素からなる複合オブジェクトを区別なく扱うためのパターン。
  • 構造を再帰に組み立てることで、クライアントからの見た目をシンプルに保つことができる。

再帰的の意味

再帰的とは、ディレクトリの下にさらにディレクトリを置くことができるように、自分自身と同じタイプの要素を含むことができる性質のことです。このような構造では、要素の下にさらに要素を含むことができる複合要素と、末端となる単独要素の2つのタイプの要素から成り立っています。ディレクトリ構造で言うと、ディレクトリが複合要素、ファイルが単独要素に当たります。この複合要素と単独要素を組み合わせていくことで再帰的な構造が形成されていきます。*1

クラス図

ソース

  • ≪実装モデル≫

--TODO

TODO

実行結果

--TODO

感想

  • これはフォルダとファイルの構成以外に使い道があるのかな。特化したパターンなのかな。
  • 再帰的な構成のものに適用できるパターン。(Ex. 会社>部署>チーム>社員)