@IT情報マネジメント会議室は、2009年4月15日に新システムに移行しました。
新たに書き込みを行う場合には、新しい会議室をご利用ください。
- PR -

Builder パターンのGetResultメソッドについて

1
投稿者投稿内容
Ier
常連さん
会議室デビュー日: 2006/02/23
投稿数: 33
投稿日時: 2008-01-04 05:15
デザインパターンのBuilderパターンについて質問があります。
GoF本や結城氏のデザインパターン入門,Wikipediaでは、
BuilderインタフェースにはGetResultメソッドを定義せず、
ConcreteBuilderクラスで定義するようにしていますが、
他のWebサイトを拝見していると、Builderインタフェースに定義してある場合があります。

BuilderインタフェースでGetResultメソッドを定義してしまうと、
BuilderインタフェースがProductクラスを意識しなくてはならなくなり、
Builderパターンの効果が薄れるような気がするのですが、
これは、適用可能性の
 "オブジェクトの作成プロセスが、オブジェクトに対する多様な表現を認めるようにしておかなければならない場合"
を考慮しない場合の設計方法と考えればよろしいのでしょうか?
Kazuki
ぬし
会議室デビュー日: 2004/10/13
投稿数: 298
投稿日時: 2008-01-04 12:00
Wikipedia Builderパターン
http://ja.wikipedia.org/wiki/Builder_%E3%83%91%E3%82%BF%E3%83%BC%E3%83%B3

Java言語で学ぶ デザインパターン入門を参考に書いてる人のサイト
http://www.techscore.com/tech/DesignPattern/Builder.html

どちらもBuilderインターフェイスにgetResultを定義してるみたいですよ。
個人的にはBuilderという名前なんだから、何か作ったものを返すという処理を行っても不思議じゃないと感じます。
ぽん
会議室デビュー日: 2008/01/04
投稿数: 1
投稿日時: 2008-01-04 16:02
各ConcreteBuilderが返すProductが共通のインターフェースを持つ場合は、
BuilderインターフェイスにgetResultを定義し、共通のインターフェースを持たない場合は定義しない、という事ではないでしょうか?

1

スキルアップ/キャリアアップ(JOB@IT)