步骤生成器模式或带有重载构造函数的构建器模式对于必需参数是否更好?

时间:2017-08-25 01:09:09

标签: java design-patterns architecture software-design builder-pattern

步骤生成器模式或构建器模式是否更好地通过构造函数传递强制参数?

大家好,我有以下几种情况,我应该在一个方法中做一个重构,其中方法接收一个新参数,在这种情况下该方法有4个参数,有些情况下这个参数之一,就是发送null,3是必需的。我不想通过可读性在4个参数的方法中使用,我认为在这种情况下使用Builder来构建一个类似于Object的参数,并且该方法有3个方法是强制性的,我有两个选择:

1。使用构建器传递构造函数,如下所示:

new Builder(param1, param2, param3).text("hello").build()
new Builder(param1, param2, param3).build()

2。使用步骤构建器,构建器只有在强制实施3参数时才能创建对象,另一种情况是它不能创建对象 构建对象。像这样:

new Builder().param1(param1).param2(param2).param3(param3).text("hello").build()
new Builder().param1(param1).param2(param2).param3(param3)..build()

但如果它没有强制执行3个参数,那么它永远不能构建对象:

new Builder().param1(param1).param2(param2).build() ( invalid execution in IDE)

什么是更好的选择?

感谢您的关注。

0 个答案:

没有答案