I have a web application with Web, Business Logic and Data Access layers (all separate projects).
MyProject.Web
/Controllers
/Views
...
MyProject.BusinessLogic
/Contracts
/Services <-- implementations
...
MyProject.DataAccess
/Contracts
/Repositories
...
In the service layer, for example, I have interfaces for services as well as concrete implementations. In the Web project I inject services defined in BusinessLogic layer.
Now, I have a caching service (both contract & implementation) in the BusinessLogic that is going to be used only in that project. Should I dependency-inject the caching service even though the composition root is in the Web project? (Or should I just use a Factory pattern instead?) Right now in the BusinessLogic project I have
private readonly ICacheService _cacheService = new CacheService();
but this feels wrong to me. Any suggestions?
Aucun commentaire:
Enregistrer un commentaire