【发布时间】:2015-07-21 00:14:43
【问题描述】:
在我的应用程序中有几层。 本主题将重点介绍域和基础设施层。
我在域层中有存储库接口 ClientRepositoryInterface。 我在基础设施层实现了这个接口 ClientRepositoryImpl。
但是要在其存在周期的中间重构对象,我需要工厂(ReconstitutionClientFactory)。 调用工厂将在存储库中。 Eric Evans 的书被描述为一种正常的做法。
但是这个工厂(ReconstitutionClientFactory)应该在哪里呢?在域或基础设施层?
我认为在域中... 但!但是接下来下层会直接调用上层! 这是错误的,但如何做对呢?
【问题讨论】:
-
在DDD中,“Repository”和“Factory”这两个概念都属于领域模型,因此属于领域层。他们可以使用来自基础设施的组件,但他们自己(接口和实现)只是领域的一部分。基础架构必须不含特定于应用程序和领域的详细信息。
标签: domain-driven-design repository-pattern factory-pattern ddd-repositories