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