I am following a book for Domain Driven Model in C#.NEt. I am having Cyclic Dependency between Infrastructure and Domain Layer (both are class library project of my solution namely "ShareManagement"). I want to know how can I get rid of cyclic dependency problem in Visual Studio/C#.NET.
Dependency of Model on Infrastructure Layer: Definitely, Domain Layer uses Infrastructure Layer such that objects in Model Layer depends (Call) Objects in Infrastructure Layer (like Repositories defined in Infrastructure Layer are accessed from Domain Model Layer using
ICompanyRepository
which implementsIRepository<T>
defined in Infrastructure Layer).Dependency Of Infrastructure on Domain Model class: However, in Infrastructure Layer, my Entity Framework (Entity Factory) needs to implement
IEntityFactory<T>
whereT
isEntityBase
(a Entity class in Domain Model Layer derived from EntityBase in Infrascture Layer; EntityBase is base class for all entities).
Following is the class in infrasture layer (under "Repositories" folder):
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" ?
{
}
}