Builder
目的
複合オブジェクトについて、その作成過程を表現形式に依存しないものにすることにより、
同じ作成過程で異なる表現形式のオブジェクトを生成できるようにする。
構造
注釈
- 構造図で、Directorは複数のBuilderを集約していることに注意せよ。つまり、異なるProductを作るための異なるBuilderがあるということだ。
- ベタに言えば、BuilderはProductの材料(属性)を記述し、DirectorはProductの組み立て方を記述する。つまり、Productの組み立て方を材料に依らず抽象化できるとき、このパターンは威力を発揮する。
- Productは抽象クラスを持つ必要はない。通常、Directorを利用するClientはConcreteBuilderを個別に区別して扱うので(DirectorにConcreteBuilderをセットする必要があるので)、Productの型も個別に扱える。
最終更新:2012年02月07日 12:01