DTO中的公共字段和域对象

时间:2011-03-17 15:44:37

标签: java architecture dto getter facade

我正在为一个项目进行代码审查。您可以在以下方案中看到它的架构:

system architecture

此时DTO - 是简单的POJO和域 - 包含Hibernate anotations。据我所知,使用DTO的好处之一是您可以将所有域字段设置为 public ,并使用getter和setter删除所有存根代码。这是正确的做法吗?

您如何看待从DTO中删除getter和setter?也许有一些专业人士在Groovy中实现DTO?

有什么想法?

3 个答案:

答案 0 :(得分:5)

我认为安全修饰符仍然可以在DTO层中做一些有用的工作。大多数字段肯定可以标记为公共字段,因为它的主要目的是简单地从表示层设置。但有些可能只是以特定的方式设置或有其他一些特殊的东西。

因此,长话短说,你可以将公共用于简单的领域。

答案 1 :(得分:1)

我会使用JavaBeans,因为:

  1. 有一些与JavaBeans一起使用的开源助手类。例如在运行时之前设置名称未知的属性值。

  2. 有时您需要进行简单的数据转换。吸气剂和制定者可以透明地做到这一点。

  3. 您可以检查数据“语法”。例如如果字段永远不应为null,则抛出NullPointerException。

  4. 无论哪种方式,都不要将公共字段与JavaBeans混合使用。它会让所有人感到困惑。

答案 2 :(得分:0)

在dto中公开字段的唯一缺点是,这可能会给其他团队成员带来一些误解。使用getter和setter,你可以输入get *并等到ide建议所有字段。