我有一个包含多个项目的Visual Studio解决方案。
我并非100%了解项目结构及其好处。
例如:我有一个名为DOMAIN的项目。在这里,我有几个文件夹,如:
DOMAIN
|
|_Repository
|__Implementations
|____|__OrderRepository.cs
|____|__CustomerRepository.cs
|__Contracts
|____|__IOrderRepository.cs
|____|__ICustomerRepository.cs
SessionManager.cs
Model
|__Customer.cs
|__Order.cs
问题:模型是否应在额外项目中与存储库分离?
如果是,为什么?
答案 0 :(得分:3)
如果您努力使您的应用程序与存储无关,那么是。一种方法是让您的模型包含存储库的抽象,例如抽象类或接口。然后你会有一个单独的项目,你可以调用类似数据访问层(DAL)的东西,它将保存对你的模型项目的引用并实现抽象存储库。
这样做的好处是可以更清晰地分离项目之间的职责(例如,您的模型项目实现业务逻辑,您的DAL项目知道如何获取数据的血腥细节)。此外,这将允许您实现两个不同的DAL,一个目标是SQLServer,一个目标是SqlLite。