假设我的C#解决方案中有以下结构:
ServiceProject
-- IBusinessLogic.cs
-- Service.cs
BusinessLogicProject
-- IRepository.cs
-- BusinessLogic.cs
RepositoryProject
-- Repository.cs
在这种情况下,我有BusinessLogicProject
个引用ServiceProject
(因为BusinessLogic
实现IBusinessLogic
)和RepositoryProject
引用BusinessLogic
(对于类似的原因)。
假设我想添加StructureMap
并使用IoC容器来注册类型和类。在我看来,这个容器将依赖于接口 - 因此应该引用这些项目,并且看起来所有项目都需要引用这个容器 - 因此每个项目都将依赖于容器。如何在不引入循环依赖的情况下更改此结构?