Recently I was studying the Bitwarden code base and the dependencies between the projects. Notably, I’ve got that there was the following dependency structure as in the image below:
Soon, some questions arose about the SharedWeb
project.
This project concentrates all the dependency injection part of the projects: Core
, Infrastructure.Dapper
and Infrastructure.EntityFramework
.
Questions:
- Is it considered a SharedKernel, if we are talking about Domain-Driven Design? And if it is SharedKernel, should it depend on Core?
- Is it a CompositionRoot?
- Is it considered both SharedKernel and CompositionRoot?