Composite とは
コンポジット と読みます。直訳すると「複合」。
ソフトウェア開発におけるデザインパターン(設計パターン)の一つで、
GoF(Gang of Four:4人のギャング)によって定義されたものです。
GoFによるデザインパターンは23種、
- 生成に関するパターン
- 構造に関するパターン
- 振る舞いに関するパターン
Compositeは、これらの中の「構造に関するパターン」になります。
木構造を伴う再帰的なデータ構造を表すことができます。
(再帰的とは、自身への参照が現れること)
枝・葉、共通のインターフェースを実装していて同時に扱えるというメリット、
反面、「再帰的」ですから、親子関係が循環し無限ループに陥りやすいデメリットがあります。