Domain driven design 领域驱动设计-常见行为

Domain driven design 领域驱动设计-常见行为,domain-driven-design,Domain Driven Design,想象一下,在一个受DDD启发的系统中,我们得到了多个有界上下文,每个上下文都有一个“Person”域对象的变体 我们如何设计这些不同的人对象的共同行为 我们是在每个Person类中重复这种行为,还是使用类似于域服务的东西?我有点困惑 请分享你的想法 挑战您是否共享有界上下文。不要陷入错误的人群中,认为单独的有界上下文是常见的,因此必须无处不在。人们听说他们很重要,所以我必须要一些 在域模型中,有多种方法可以对不同角色(上下文)中的事物、人员和场所进行建模。这是领域建模中最常见的问题之一 一个人可

想象一下,在一个受DDD启发的系统中,我们得到了多个有界上下文,每个上下文都有一个“Person”域对象的变体

我们如何设计这些不同的人对象的共同行为

我们是在每个Person类中重复这种行为,还是使用类似于域服务的东西?我有点困惑


请分享你的想法

挑战您是否共享有界上下文。不要陷入错误的人群中,认为单独的有界上下文是常见的,因此必须无处不在。人们听说他们很重要,所以我必须要一些

在域模型中,有多种方法可以对不同角色(上下文)中的事物、人员和场所进行建模。这是领域建模中最常见的问题之一

一个人可以作为客户、供应商、团队成员、获奖者和社会团体成员行事(参与)

机场门可以是登机门、入境门,有时也可以是紧急登机门

产品可以是正在销售的产品,也可以是正在退货的产品,也可以是尚未开发的产品


所有这些通常都是在一个表示所考虑问题的域中建模的。

您可能希望依赖共享内核,但不要忘记重用就是耦合。少量的重复往往比试图消除所有的重复更有利。如果有限的上下文是不同的,那么不要害怕,编写两次代码。请共享特定人员的示例。感谢您的评论。发现了Udi Dahan的这篇演讲,其中讨论了重用的过度美化及其对软件质量的影响(增加耦合)。我在这个箱子里用复制品做了桃子。