我正在为一个项目进行代码审查。您可以在以下方案中看到它的架构:
此时DTO - 是简单的POJO和域 - 包含Hibernate anotations。据我所知,使用DTO的好处之一是您可以将所有域字段设置为 public ,并使用getter和setter删除所有存根代码。这是正确的做法吗?
您如何看待从DTO中删除getter和setter?也许有一些专业人士在Groovy中实现DTO?
有什么想法?
答案 0 :(得分:5)
我认为安全修饰符仍然可以在DTO层中做一些有用的工作。大多数字段肯定可以标记为公共字段,因为它的主要目的是简单地从表示层设置。但有些可能只是以特定的方式设置或有其他一些特殊的东西。
因此,长话短说,你可以将公共用于简单的领域。
答案 1 :(得分:1)
我会使用JavaBeans,因为:
有一些与JavaBeans一起使用的开源助手类。例如在运行时之前设置名称未知的属性值。
有时您需要进行简单的数据转换。吸气剂和制定者可以透明地做到这一点。
您可以检查数据“语法”。例如如果字段永远不应为null,则抛出NullPointerException。
无论哪种方式,都不要将公共字段与JavaBeans混合使用。它会让所有人感到困惑。
答案 2 :(得分:0)
在dto中公开字段的唯一缺点是,这可能会给其他团队成员带来一些误解。使用getter和setter,你可以输入get *并等到ide建议所有字段。