在我多年的编程生涯中,我经常制作简单地将一些变量与它们的 setter 和 getter 组合在一起的类。我已经看到根据使用它们的上下文将这些类型的对象称为值对象、域对象或模型对象。最适合通用用法的术语似乎是数据传输对象 (DTO)。这描述了一个只包含访问器和修改器的 POJO。
我刚刚编写了一个这样的对象,其中包含大约 50 个用于在图表上设置主题参数的字段。现在我想知道是否应该将这些字段声明为公共字段,而不是生成一百个 getter 和 setter。这样做违背了我的编程直觉告诉我的一切,但我不能否认它会大大提高我的代码的易读性并减少类中样板代码的数量。
我可以看到不使用公共字段的唯一原因是如果我需要对这些字段执行任何类型的验证。如果我们假设类型验证足以满足我的目的,那么在这种情况下使用公共字段是否可以接受面向对象设计的突破?公共 DTO 会在大批量操作中表现更好吗?