相关疑难解决方法(0)

DDD:在哪里保留域接口,基础设施?

在Infrastructure层中对所有域层(模块,模型,实体,域服务等)的所有接口进行分组是否有意义?如果没有,创建一个将所有这些组合成共享库的"共享"项目/组件是否有意义?毕竟,"Infrastructure Layer"的定义包括"Domain,Application和UI层的共享库".

我正在考虑围绕DDD层设计我的代码库:UI,应用程序,域,基础架构.这将恭敬地创建4个项目.我的观点是,您从域层引用了基础架构层.但是,如果您在Domain Layer项目中定义接口,比如说IPost,那么当您在定义IPostRepository.Save(IPost post)方法时必须从Infrastructure项目引用Domain Layer项目时,您将有一个循环参考.因此,"定义共享库中的所有接口"的想法.

也许存储库不应该期望一个对象要保存(IPostRepository.Save(IPost post);而是期望对象的params(可能是Save()中的一长串params).给定,这可能是一个理想的情况,显示一个对象变得过于复杂,并且应该为它寻找额外的值对象.

思考?

domain-driven-design

21
推荐指数
2
解决办法
2万
查看次数

可以聚合根实体调用存储库

聚合根实体是否可以有一个方法来调用存储库?

我知道不应该,但想得到确认,因为埃里克的书也没有明确说明任何内容:(

还有一件事,我在哪里可以获得领域驱动设计的单元测试示例?

domain-driven-design

6
推荐指数
1
解决办法
3508
查看次数

标签 统计

domain-driven-design ×2