Java言語で学ぶデザイパターン入門 7章 Builder
- 作者: 結城浩
- 出版社/メーカー: ソフトバンククリエイティブ
- 発売日: 2001/06
- メディア: 単行本
- 購入: 3人 クリック: 66回
- この商品を含むブログ (43件) を見る
・Builder役
インスタンスを生成するためのインタフェースを定める
・ConcreteBuilder役
Builderのインタフェースを実装したクラス
成果物を得る為のメソッドはこちらに定義
・Director役
Builderのインタフェースを使ってインスタンスを生成
・Client役
Builderを利用する役
Builder役でインスタンスを生成するための機能を提供するが、呼び出しの順番は制御せず、Directorが順番を制御する
→Builderは各メソッドがどの順番で呼ばれてもOKな作りにしたほうがよい?
Builderのもつ複雑なインスタンス生成過程を、Directorを使うことによって外部からは簡単につくれるようになる。
Facadeパターンのインスタンス生成版みたいな感じ。
成果物を得るメソッドはConcreteBuilderが持つのはなぜだろう?
・Directorに持たせようとしたらBuilderのメソッドでなければならない
・Builderに持たせたとしてもClientはBuilderを意識しないので意味が無い
・Directorのコンストラクタなり何なりにConcreteBuilderは渡すので、ClientはConcreteBuilderを意識せざるを得ない
から、やはりConcreteBuilderに持たせるしかないのか。。。なんか微妙な感じがするけどこんなところか。