2

我想使用 Builder 模式以 Joshua Bloch 的风格创建一个类。但我想使用这个类作为 DTO 对象并从 EJB 传输它。所以它需要有公共的无参数构造函数。如何在构建器模式中实现这种 java-bean 样式?在 Effective Java 对象中,只有一个接受Builder对象作为参数的构造函数。如果我在那里添加公共无参数构造函数,那么我就失去了构建器优于 Java-bean 模式的优势。

4

1 回答 1

1

不确定是什么让您在这里使用构建器模式,但这是我的经验对您的问题的看法。

  1. 您正在使用 EJB。所以,我假设您处于分布式应用程序模式。
  2. 您的 DTO 将用于将数据传输到 EJB 和从 EJB 传输数据。所以,你应该考虑让你的这个 DTO 可序列化(现在,有一个无参数的构造函数是有意义的)。

据我说,你所需要的只是某种转换器,它从某个层接受 obj1 进行处理,然后返回它。

我建议仅在您的对象构建是一个多步骤过程(例如,用户注册)的情况下使用 builder。

于 2013-01-11T12:16:54.197 回答