私は、新しいアプリケーションにデータ層を実装する最良の方法について同僚と「議論」している最中です。
1 つの観点は、データ層がビジネス オブジェクト (エンティティを表す独自のクラス) を認識し、そのオブジェクトをネイティブに操作できる必要があるということです。
反対の見方は、データ層はオブジェクトにとらわれず、純粋に単純なデータ型 (文字列、ブール値、日付など) を処理する必要があるというものです。
両方のアプローチが有効であることはわかりますが、私自身の見解では、前者を好むということです。そうすれば、データ ストレージ メディアが変更されても、新しいデータ レイヤーに対応するためにビジネス レイヤーを (必ずしも) 変更する必要はありません。したがって、SQL データ ストアからシリアル化された xml ファイルシステム ストアに変更するのは簡単なことです。
私の同僚の見解は、データ層がオブジェクト定義について知る必要はなく、データが適切に渡される限り、それで十分だというものです。
これが宗教戦争を引き起こす可能性のある質問の 1 つであることはわかっていますが、そのような問題にどのように取り組むかについて、コミュニティからのフィードバックをいただければ幸いです。
ティア