1

我从从事它的开发人员那里继承了一个项目代码库。我必须对其进行一些更改。

假设我有一个包含 2 列的表“CARS”

身份证 | 车名

1 | 现代
2 | 福特
3 | 宝马

绑定到模型类“汽车”:

public Class Car{

  @Id
  @Column(name="ID")
  private Long id;

  @Column(name="FORD")
  private String carName;

  //getters and setters...
}

在我的代码片段中(比如在某些控制器类中)我必须查看给定的汽车是否是福特汽车,条件代码类似于

if(thisCar.getCarName()=="FORD")

或者

if(thisCar.getId()==2L)

但这会在数据库和应用程序之间产生一些依赖性问题。如果我刷新汽车表或重组它,结果福特汽车条目进入主键 3,字符串“福特”也是如此。如果明天它变成“FORDspeed”或其他东西怎么办。我将不得不相应地更改我的代码。

在这个意义上,我如何使我的代码与数据松散耦合。

4

1 回答 1

0

我认为你不应该依赖 field ID,因为这可能已经改变了,就像你说的那样。所以,词组if(thisCar.getId()==2L)以后可能会有不同的结果,所以你应该避免它。但我认为if(thisCar.getCarName()=="FORD")总是有一个静态的结果,我认为它基于面向对象的设计没有任何问题。

于 2016-02-13T08:02:15.963 回答