DesignPatterns > Composite

Composite


目的

部分-全体階層(コンテナ階層)を表現するために、オブジェクトをツリー構造に組み立てる。
Compositeパターンにより、個々のオブジェクト(Item)とオブジェクトを合成したもの(Container)を
一様に扱うことができるようになる。

構造


注釈

  • Comositeパターンでは、子オブジェクトを操作するメソッドをどのクラスに定義するかが問題になる。Componentクラスに定義すると透過性が得られる(ItemもContainerも一様に扱える)が、安全性を損なう(Itemに対する不正な子オブジェクト操作を静的にエラー検出できない)。Compositeクラスに定義すると、逆に安全性は得られるが、透過性を損なう。


最終更新:2012年02月07日 12:07
添付ファイル