Rob*_*ert 1 domain-driven-design project-structure
域服务实现应位于DDD项目结构中的什么位置?如果我们有IDomainInterface和DomainInterface实施,应DomainInterface执行驻留在解决方案/项目的基础设施或核心/域的一部分?
域服务接口及其实现可以驻留在域层中。但是,如果域服务实现依赖于基础结构问题,则通过应用依赖关系反转原理,该实现将驻留在基础结构层中,同时取决于域中定义的接口。
大多数域服务将不必依赖基础结构问题,而将用于为无法在现有集合中找到自然家园的用例建模,但某些域服务将可以。
存储库是需要基础结构知识的最常见的域服务,因此您会发现它们的实现位于基础结构层中,但是还有其他示例。
例如,在IDDD的“身份和访问”受限上下文中,EncryptionService接口位于域中,而MD5EncryptionService具体实现位于基础结构中。