java - 具有许多必需参数的构造函数

标签 java parameters constructor model builder

如果我有一个需要多个(4 个以上参数)的不可变对象(immutable对象)的构造函数,那么使用一个包含所有必需参数的构造函数是否是正确的方法?

我觉得这会成为 Builder 模式的候选者,但我也想回避它,因为参数是必需的,当您需要挑选时,Builder 似乎更合适。

我心目中的例子是一个一旦创建就不会改变的模型对象。

最佳答案

如果你想创建一个不可变对象(immutable对象),你必须提供一个包含所有必需字段的构造函数

您不能部分设置状态,因为稍后您必须添加一些“setter”的概念,这将根据定义增加可变性

构建器模式实际上是关于部分对象的构建。

关于java - 具有许多必需参数的构造函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28426051/

相关文章:

java - Kafka Log4j 附加程序不发送消息

java - 嵌套 do while 循环的 Junit 测试用例

Java 泛型 : Foo<T>, Foo、Foobar<T extends Foo<T>> 和 Foobar<T extends Foo>

java - 如何从excel中获取名称框?

java - equals(Object o) 和 equals(Name o) 之间有什么有意义的区别吗?如果是,它有什么含义?

python - 如何在发布数据python中接收字典

java - 由于某些中间构造函数,类型 MySuperClass<B> 的封闭实例不可用

java - java中构造函数中类变量的初始化

servlets - request.getParameter() 无法使用 request.setAttribute() 传递的值

java - 构造函数 WindowEvent(WelcomeWindow, int) 未定义