Domain driven design 领域驱动设计类图

Domain driven design 领域驱动设计类图,domain-driven-design,uml,class-diagram,Domain Driven Design,Uml,Class Diagram,我想知道当使用领域驱动设计时,是否有人有一个关于如何组织UML类图的好例子 我真的不知道如何使实体与存储库和服务相匹配。我最终为DDD绘制的UML图通常是手工绘制的,非正式的,并且没有严格遵守所有的指导原则。从UML的角度来看,实体、存储库和服务都是简单的类;为了清晰起见,类可以用a标记 此外,我不太强调单独的类图。从行为的角度考虑这个模型通常是更富有成效的,这是序列图可以帮助的,尽管它们可以很快变得过于技术化。类图可以帮助您识别聚合和实体,但它们也会让您误入歧途,因为它们过于强调名词而不是动词

我想知道当使用领域驱动设计时,是否有人有一个关于如何组织UML类图的好例子


我真的不知道如何使实体与存储库和服务相匹配。

我最终为DDD绘制的UML图通常是手工绘制的,非正式的,并且没有严格遵守所有的指导原则。从UML的角度来看,实体、存储库和服务都是简单的类;为了清晰起见,类可以用a标记

此外,我不太强调单独的类图。从行为的角度考虑这个模型通常是更富有成效的,这是序列图可以帮助的,尽管它们可以很快变得过于技术化。类图可以帮助您识别聚合和实体,但它们也会让您误入歧途,因为它们过于强调名词而不是动词

DDD中另一种重要的图类型是一个类图,它可以被视为有界上下文的类图。没有任何明确的UML实践来表达上下文映射,因此非正式的方法最有效

总的来说,对我有效的是低摩擦、低仪式和非正式。使用方框表示概念,并使用方框之间的线条表示关系。除此之外的任何东西都肯定会有所帮助,但不应以其他方面为代价


您还应该了解图表的用途。它们是否用于促进设计和建模过程?它们是用于文档的吗?为了引起谈话?为了交流?这些原因中的每一个都可能有特定的限制。

我的建议:为每个DDD构建块构建原型(例如,我最后为DDD绘制的UML图通常是手工绘制的、非正式的,并且没有严格遵守所有的指导原则——你是在谈论敏捷还是DDD?谢谢!我决定只绘制实体,而不绘制存储库、服务和所有东西。)else@lazyberezovsky我想两者都有吧!你能不能再详细说明一下您提供的解决方案?我们使用:-类的原型:factory、agregate、e.t.c。