数据传送对象

最为精练的数据结构,是一个只有公共变量、没有函数的类。这种数据结构有时被称为数据传送对象,或DTO(Data Transfer Objects)。DTO是非常有用的结构,尤其是在与数据库通信、或解析套接字传递的消息之类场景中。在应用程序代码里一系列将原始数据转换为数据库的翻译过程中,它们往往是排头兵。

更常见的是如代码清单6-7所示的“豆”(bean)结构。豆结构拥有由赋值器和取值器操作的私有变量。对豆结构的半封装会让某些OO纯化论者感觉舒服些,不过通常没有其他好处。

  1. public class Address {
  2. private String street;
  3. private String streetExtra;
  4. private String city;
  5. private String state;
  6. private String zip;
  7. public Address(String street, String streetExtra, String city, String state, String zip) {
  8. this.street = street;
  9. this.streetExtra = streetExtra;
  10. this.city = city;
  11. this.state = state;
  12. this.zip = zip;
  13. }
  14. public String getStreet() {
  15. return street;
  16. }
  17. public String getStreetExtra() {
  18. return streetExtra;
  19. }
  20. public String getCity() {
  21. return city;
  22. }
  23. public String getState() {
  24. return state;
  25. }
  26. public String getZip() {
  27. return zip;
  28. }
  29. }