Q&A
解決済
3回答
2330閲覧
総合スコア20
Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。
0グッド
0クリップ
投稿2014/09/26 08:40
0
「Java言語で学ぶ デザインパターン入門」を読んで勉強しています。
Builderパターンを使うタイミングがいまいち分からないのですが、これは一般的によく使われるものなデザインパターンなのでしょうか?
単にFactoryパターンではダメなのでしょうか?
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
質問へのコメント
回答3件
標準APIだと、 Calendar.Builder (Java Platform SE 8 ) Locale.Builder (Java Platform SE 8 ) あたりがそうですね。
Calendarのように、設定する項目が多岐に渡る場合は、factoryだとデフォルトパラメーターの無いJavaではオーバーロードメソッドを大量に定義しなければなりません。
Calendar
builderであれば、必要な項目のbuilder#setXXXメソッドを呼びだしてインスタンスを構築することができます。 Calendarは後から更新可能な(mutableな)クラスなのであまりメリットが感じられないかもしれませんが、更新不可の(immutableな)クラスを構築したいような場合は、builderパターンが役に立つと思います。
builder#setXXX
投稿2014/09/27 08:47
総合スコア9398
Androidのライブラリ、例えば AlertDialog.Builder などが存在します。 http://developer.android.com/guide/topics/ui/dialogs.html#DialogFragment
AlertDialog.Builder
投稿2014/09/27 07:47
総合スコア1342
ベストアンサー
BuilderパターンとFactoryパターンの重要な違いは、Builderはオブジェクトをビルドする場合に多くの部品を生成する必要があるような場合によく使われます。 例えばDOMです。DOMは最終的なオブジェクトを得るためにたくさんの節を生成し、属性付けする必要があります。
それに対し、Factoryパターンは1回のメソッド呼び出しで簡単にオブジェクト全体(完成品)を生成することができるときに使われます。
Builderを使う一つの例としては、上記に挙げたようなXML文書のビルドが挙げられるかと思います。
投稿2014/09/27 07:30
総合スコア169
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
15分調べてもわからないことはteratailで質問しよう!
ただいまの回答率85.29%
質問をまとめることで思考を整理して素早く解決
テンプレート機能で簡単に質問をまとめる
JavaでBuilderはどういった場合に使う?