我的网络应用程序包含Web
,Business Logic
和Data Access
图层(所有单独的项目)。
MyProject.Web
/Controllers
/Views
...
MyProject.BusinessLogic
/Contracts
/Services <-- implementations
...
MyProject.DataAccess
/Contracts
/Repositories
...
例如,在服务层中,我有服务接口和具体实现。在Web
项目中,我注入BusinessLogic
层中定义的服务。
现在,我在BusinessLogic
中有一个仅在该项目中使用的缓存服务(包括合同和实现)。即使组合根在Web
项目中,我是否应该依赖注入缓存服务? (或者我应该只使用工厂模式?)
现在我在BusinessLogic
项目
private readonly ICacheService _cacheService = new CacheService();
但这对我来说是错误的。有什么建议吗?