ビルダー デザイン パターンを使用することの欠点は何でしょうか。いずれかがあります??
編集 - ビルダー デザイン パターンを使用することの悪い結果があるかどうか知りたいですか? GOF の本のように、彼らはデザイン パターンの良い結果と悪い結果について言及しています。しかし、彼らはビルダーの設計パターンの悪い結果については言及していません。
ビルダー デザイン パターンを使用することの欠点は何でしょうか。いずれかがあります??
編集 - ビルダー デザイン パターンを使用することの悪い結果があるかどうか知りたいですか? GOF の本のように、彼らはデザイン パターンの良い結果と悪い結果について言及しています。しかし、彼らはビルダーの設計パターンの悪い結果については言及していません。
たとえば、コンストラクター引数やセッター/ゲッターがある場合よりも、DTO でより多くのコードが作成されます (さらに複雑になる可能性があります)。
私の意見では、これは大したことではありません。ほとんどの場合、追加のコードは多くありません。いくつかの必須パラメーターといくつかのオプションのパラメーターを持つオブジェクトがある場合、ビルダー パターンはそれだけの価値があります。
パターンが不利になるのは、パターンが乱用/誤用された場合のみです。つまり、パターンは実際の技術的/機能的問題をまったく解決/適合しませんでした。次に、特定の問題を解決する別のパターンを探す必要があります。
これは特にビルダー パターンには当てはまりませんが、デザイン パターン全般に当てはまります。
更新: さまざまなデザイン パターン (具体的には GoF デザイン パターンの本に記載されているもの) と Java API の実際の例について知りたい場合は、次の回答を見つけることができます: Java の GoF デザイン パターンの例コア ライブラリが 便利です。パターンを詳細に説明するウィキペディアの記事へのリンクが含まれています。
私はJarleの投稿を2番目にしています。
そうでなければ、不利な点になると:
ビルダー パターンは、Java のオプション パラメーターの欠如を克服するという考えを念頭に置いて使用すると、コンパイラーによって提供される静的分析 (および IDE によって提供されるすべての優れたリファクタリング機能) を失います。これは、IDE が何かが間違っていることをすぐに知らせるのではなく、実行時にのみいくつかの必須パラメーターが欠落していることを検出することを意味します...
望遠鏡コンストラクターとの比較