有效的Java。 Serializable Builder模式(如何添加public no-arg构造函数?)

时间:2013-01-11 11:26:57

标签: java builder effective-java

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

1 个答案:

答案 0 :(得分:1)

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

  1. 您正在使用EJB。所以,我假设您处于分布式应用程序模式。
  2. 您的DTO将用于向EJB传送数据或从EJB传送数据。所以,你应该考虑使你的这个DTO可序列化(现在,有一个无参数构造函数是有道理的。)
  3. 根据我的说法,你需要的是某种变压器,它接受来自某层的obj1进行处理然后将其返回。

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