如果对象是可变的,那么可以直接在对象本身上直接执行它而不是涉及单独的静态类的构建器模式吗?

时间:2018-04-10 15:17:45

标签: java design-patterns builder

所以我想要创建的对象可以是可变的。可以这样做:

GetUserTopicsQuery request = GetUserTopicsQuery.getInstance().setUserId(mUserId).setName("Bob");

设置字段setUserIdGetUserTopicsQuery返回userIdsetName设置name字段。

1 个答案:

答案 0 :(得分:0)

你可以做到这一点,但这不再是一种设计模式。 Builder设计模式的范围是它不提供对构造函数的访问。如果您无法实例化对象,则可以访问getter和setter,这不是问题。

这就是你需要一个嵌套类的原因,因为你不想提供对构造函数的访问,而是想要构建方法。