使用真实数据的构建器模式(不是一些硬编码数据)

时间:2018-05-23 16:24:07

标签: design-patterns builder builder-pattern

我目前正在学习构建器模式。所有的教程,一切都很棒,但是当涉及到使用真实数据(不是在SetFoo(),SetBar()(在构建器中)中的硬编码字符串时,我意识到我需要传递给构建器控制器内部(MVC)。然后我的控制器碰巧是导演吧?

我的构造函数方法现在已经消失,因为数据已由构建器的setter设置。

示例:

fooBuilder.setBar("real data from db");
fooBuilder.setFoo("more real data from the database");

是否违反了构建器模式的原则?

1 个答案:

答案 0 :(得分:0)

我认为控制器将数据传递给构建器是可以的。

但是你仍然可以保留构造函数方法。使用Builder模式不需要删除构造函数。其实质是Builder类知道如何创建和构建零件。

我建议将set方法重命名为build:BuildBar,BuildFoo。