关于将域对象用于单个字符串的观点

时间:2016-12-08 10:54:16

标签: java oop

在寻找一个小型设计决策时,我正在寻找一些意见。

我找了其他类似的问题,但我找不到任何问题。

所以在这种情况下,数据库包含一个包含城市名称的表。应用程序检索这些名称并在某处使用它们。

通常,当谈到数据库对象时,我会(并且我相信你应该)创建一个域对象,在其中存储所有相关变量。 例如:

public class City {

    private String name;

    public City(String _name){
        this.name = _name;
    }

    public String getName() {
        return name;
    }
}

但在这种情况下,我认为这是不必要的复杂,因为每个数据库对象只有一个字符串。所以我将城市名称保存在一个字符串中。这样做的主要原因是因为我认为它使用更少的内存(尽管差异很小(我认为,我不是专家)),它还从代码库中删除了一个类和少量行。它使我免于键入所述行;)

我很想听听你对此的看法,你个人会做什么以及这两种方法的潜在优势或劣势。

1 个答案:

答案 0 :(得分:3)

在我看来,最好使用域对象,因为如果您决定添加更多属性,它将为您提供更大的灵活性。例如,您可以将此值传递给代码中的某些方法,下次要向城市对象添加某些属性时,这将更容易,因为所有方法都已获取对象而不是单个字符串。