2

複数のプロジェクトを含む Visual Studio ソリューションがあります。

私は、プロジェクトの構造とその利点について 100% 解決したわけではありません。

例: DOMAIN というプロジェクトがあります。ここには、次のようないくつかのフォルダーがあります。

DOMAIN
|
|_Repository
  |__Implementations
  |____|__OrderRepository.cs
  |____|__CustomerRepository.cs
  |__Contracts
  |____|__IOrderRepository.cs
  |____|__ICustomerRepository.cs
  SessionManager.cs
  Model
  |__Customer.cs
  |__Order.cs

質問: 追加のプロジェクトでモデルをリポジトリから分離する必要がありますか?

はいの場合、なぜですか?

4

1 に答える 1

3

アプリケーションがストレージにとらわれないように努力しているなら、そうです。これを行う 1 つの方法は、抽象クラスやインターフェースなど、モデルにリポジトリの抽象化を含めることです。次に、データ アクセス レイヤー (DAL) のようなものと呼べる別のプロジェクトがあり、モデル プロジェクトへの参照を保持し、抽象リポジトリを実装します。

これの利点は、プロジェクト間の責任の明確な分離です (たとえば、モデル プロジェクトがビジネス ロジックを実装し、DAL プロジェクトがデータの取得方法に関する詳細を知っているなど)。さらに、これにより、たとえば SQLServer をターゲットとするものと SqlLite をターゲットとするものなど、2 つの異なる DAL を実装できます。

于 2010-12-30T16:33:46.703 に答える