我正在开发一个由Clients项目组成的C#项目(Clients.csproj)我有一个DAL库,可以从数据库(Products.DAL.csproj)获取客户端的数据。 Inside Products.DAL.SQL.csproj我有一个接口IProductsService,它有一个GetProducts()方法(从MS SQL数据库中读取产品)。现在我需要添加额外的数据源,因此我创建了另一个项目(Products.DAL.Mongo.csproj)。我需要在这个新项目中实现IProductsService接口,但我不想引用Products.DAL.SQL.csproj来获取接口。建议的方法是什么?
提前致谢
答案 0 :(得分:1)
我将做一个核心项目,它将所有业务类和接口保存在文件夹中,因此名称空间将是Products.Core.Business和Products.Core.Interface。 您所要做的就是参考核心项目。
这样,您必须在Products.DAL.SQL和Products.DAL.Mongo中实现IProductService,而不必引用SQL项目。
[编辑]:
我引用french post关于DDD:
您的解决方案将有5层: