Architecture DDD-DAL是否访问域层

Architecture DDD-DAL是否访问域层,architecture,domain-driven-design,Architecture,Domain Driven Design,我看到一些示例引用了DAL中的域层。我看到存储库接口是在域层中定义的,因为DAL实现了它们,所以它们需要引用域层。DAL还需要知道要返回的实体,以便向上游提供参考。我想我们只提到“下游”,有人能解释一下吗?是的,没关系 这样想: 如果您要更改(替换)任何层,它将是哪一层?您不太可能更改域层,因为这会更改整个应用程序。如果更改DAL,则不需要修改域层 所以,你的域名不依赖任何东西是件好事。您的DAL可以依赖于您的域,因为您的域是应用程序的核心 我写了一篇关于这一点的文章,其中更详细地解释了这一点:

我看到一些示例引用了DAL中的域层。我看到存储库接口是在域层中定义的,因为DAL实现了它们,所以它们需要引用域层。DAL还需要知道要返回的实体,以便向上游提供参考。我想我们只提到“下游”,有人能解释一下吗?

是的,没关系

这样想:

如果您要更改(替换)任何层,它将是哪一层?您不太可能更改域层,因为这会更改整个应用程序。如果更改DAL,则不需要修改域层

所以,你的域名不依赖任何东西是件好事。您的DAL可以依赖于您的域,因为您的域是应用程序的核心

我写了一篇关于这一点的文章,其中更详细地解释了这一点:

是的,没关系

这样想:

如果您要更改(替换)任何层,它将是哪一层?您不太可能更改域层,因为这会更改整个应用程序。如果更改DAL,则不需要修改域层

所以,你的域名不依赖任何东西是件好事。您的DAL可以依赖于您的域,因为您的域是应用程序的核心

我写了一篇关于这一点的文章,其中更详细地解释了这一点:

域位于下游

请参见

域位于下游


参见

简单答案“是的,DAL应该知道域模型。所有其他层都构建在域层之上。”简单答案“是的,DAL应该知道域模型。所有其他层都构建在域层之上。”单元测试不应该直接访问域吗?毕竟,我的大部分业务逻辑都位于域层。难道单元测试不能直接访问域吗?毕竟,我的大部分业务逻辑将位于域层。