我正在关注 C#.NEt 中的域驱动模型一书。我在基础架构和域层之间存在循环依赖关系(两者都是我的解决方案的类库项目,即“ShareManagement”)。我想知道如何摆脱 Visual Studio/C#.NET 中的循环依赖问题。
模型对基础设施层的依赖性:当然,领域层使用基础设施层,使得模型层中的对象依赖(调用)基础设施层中的对象(如基础设施层中定义的存储库是从域模型层访问使用基础设施层中定义的
ICompanyRepository
实现IRepository<T>
)。基础设施对域模型类的依赖性:但是,在基础设施层中,我的实体框架(实体工厂)需要实现
IEntityFactory<T>
whereT
isEntityBase
(域模型层中的实体类从基础设施层中的 EntityBase 派生;EntityBase 是所有实体的基类)。
以下是基础设施层中的类(在“存储库”文件夹下):
using System.Text;
using System.Data;
using ShareManagement.Model.Company; // How to do this ??
ShareManagement.Infrastructure.EntityFactoryFramework;
namespace ShareManagement.Infrastructure.Repositories
{
internal class CompanyFactory: IEntityFactory<Company>
//Company is defined in Model Layer and derived from Abstract Base class "EntityBase"
//So, how to use "using ShareManagement.Model.Company" ?
{
}
}