従来の階層化されたアプリケーションの設計について考えるとき、私はしばしば3つの層の観点から考えます。
- 実際にデータベースと通信する最下層(これを「データアクセス層」と呼びましょう)。オブジェクトを(何らかの形で)次のレイヤーに返します。
- 最下層の上の層(中間層、これを「データ層」と呼びます)は、データアクセス層からオブジェクトを取得し、ドメインオブジェクトをビジネス層に返します。
- ビジネスレイヤーは、データレイヤーからドメインオブジェクトを取得し、それらを使用して処理を実行します。
これは確かに過度に単純化された説明であり、おそらく信じられないほど間違っています!:)
明らかに、LINQ to SQLがORMであるため、データアクセス層はLINQtoSQLオブジェクトを作成しています。これらのオブジェクトを中間層と最上層に渡すための適切なパターンは何ですか?