Ste*_*ers 29

如果您在您提供的链接中查看描述洋葱架构的图像,则域模型层是DDD关注的内容.

洋葱是系统的架构模式,而DDD是设计系统中对象子集的一种方式.这两者可以彼此不存在,所以两者都不是另一个的子集.如果你要一起使用它们 - 那么作为一个整体,使用DDD设计的部分将是整个系统的一个子集.

使用(可能是坏的)类比:洋葱是设计房屋的模式,而DDD是一种磨房木材的方式.


Gob*_*lin 24

在我看来 - 它们相互补充 - 但是从非常不同的角度来看.

洋葱架构就是让Domain/BusinessLogic独立于"劣等"的东西,如数据访问,用户界面,服务等.洋葱架构并不真正关心你如何建立你拥有的域 - 它坚持保护它免受外部依赖.

领域驱动设计完全取决于您如何建模您的域以及您称之为对象的内容.这意味着每个Domain类应该与它所代表的业务域中所代表的内容有直接关系(即物理/现实世界).因此,Customer对象应该在代码中被命名为Customer - 它应该具有与Customer在现实世界中相同的规则(或者尽可能接近).