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

如果您努力使您的应用程序与存储无关,那么可以。一种方法是让您的模型包含存储库的抽象,例如抽象类或接口。然后您将拥有一个单独的项目,您可以将其称为数据访问层 (DAL),它会保存对您的模型项目的引用并实现抽象存储库。

这样做的好处是项目之间的职责分离更清晰(例如,您的模型项目实现业务逻辑,而您的 DAL 项目知道有关如何获取数据的血腥细节)。此外,这将允许您实现两种不同的 DAL,例如,一种以 SQLServer 为目标,另一种以 SqlLite 为目标。

于 2010-12-30T16:33:46.703 回答