1

プロジェクトのコード ベースを、それに取り組んだ開発者から継承しました。私はそれにいくつかの変更を加える必要があります。

2列のテーブル「CARS」があるとします

ID | カーネーム

1 | ヒュンダイ
2 | フォード
3 | BMW

Model クラス "Car" にバインド:

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)

ただし、これにより、DB とアプリの間にいくつかの依存関係の問題が発生します。cars テーブルをフラッシュするか、再構築するとどうなるでしょうか。その結果、FORD car エントリが主キー 3 になり、文字列 "FORD" も同様になります。明日、「FORDspeed」か何かに変わったらどうでしょう。それに応じてコードを変更する必要があります。

この意味でデータから疎結合されたコードを作成するにはどうすればよいですか。

4

1 に答える 1

0

あなたが言ったように、これは変更された可能性があるため、フィールドIDに依存するべきではないと思います。そのため、フレーズif(thisCar.getId()==2L)は後で異なる結果になる可能性があるため、避ける必要があります。しかし、私はif(thisCar.getCarName()=="FORD")常に静的な結果を持っていると思います.オブジェクト指向設計に基づいて問題はないと思います.

于 2016-02-13T08:02:15.963 に答える