gpt4 book ai didi

c++ - 为什么 Builder 模式比在正在创建的 Class 对象中带有参数的 Constructor 更好?

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:36:05 27 4
gpt4 key购买 nike

为什么我们不能在构造函数本身中执行不同的构建步骤。如果构建步骤采用参数,为什么不能将它们作为参数提供给构造函数并在构造函数中用于创建对象。

据我所知,在 Builder 模式中,客户端要创建哪个特定对象;那么在正在创建的类的对象中使用构建器而不是带有参数的构造函数有什么优势?

最佳答案

哦!我得到它。我正在查看维基百科示例并意识到 Builder 为何有用。当客户端不知道将哪些参数传递给构造函数时,这很有用,因为它非常复杂,因此无法直接调用构造函数并获取对象。因此,他向 Concrete Builders 寻求帮助,他们知道将哪些参数传递给构造函数,从而创建对象。

基本上,如果客户端主要将参数传递给创建对象的类的构造函数,那么 Builder 就没那么有用了。使用原型(prototype)可能更好。另一方面,如果可以通过将参数传递给该类的构造函数(或调用 setter)来从该类创建一小部分有限的特定对象,并且如果它们是经常使用的对象,那么最好将这个参数封装到 Builder 类中并使用它们为您创建对象。

关于c++ - 为什么 Builder 模式比在正在创建的 Class 对象中带有参数的 Constructor 更好?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3641279/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com