私は最近、研究グループでデザインパターンを研究してきましたが、ビルダーパターンは、多くの(場合によってはオプションの)パーツで構成される複雑なオブジェクトを作成するのに非常に役立つことがあることを理解しました。
しかし、ビルダーがやりすぎているポイントはありますか?オブジェクトの多くの異なる組み合わせを持つクラスがあるとしましょう。何十もの異なるビルダーを作成する代わりに、それに適した別のパターンがありますか?完全に特定のビルダーを作成しないことで、必要なビルダーの数を減らすことは可能ですか?
私の研究グループと私が何度も訪れた例は、自動車会社のWebサイトなどの自動車メーカーでした。どの自動車会社にも数十台の車があり、それぞれにさまざまな機能、色、追加機能などがあります。私が理解しているように、ビルダーは作成しているオブジェクトに固有である必要があるため、この例にビルダーパターンを適用すると数百台になります。 「RedSUVWithSunroofBuilder」、「BlueSUVWithSunroofBuilder」、「RedSUVBuilder」などのようなビルダー。
ビルダーパターンを使用して、作成する必要のあるビルダーの数を減らすためにこれらの値の一部を渡すことができなかった理由はありますか?たとえば、RedSUVWithSunroofBuilderまたはBlueSUVWithSunroofBuilderを使用する代わりに、SUVWithSunroofBuilder( "Red")およびSUVWithSunroofBuilder( "Blue")を実行するビルダーパターンに適合していますか、それとも別のパターンに適合していますか?