域驱动设计 – DDD – 什么是复杂域?

前端之家收集整理的这篇文章主要介绍了域驱动设计 – DDD – 什么是复杂域?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
人们常说DDD(域驱动设计)更适合复杂域而不是简单域.

复杂域名的特征是什么? (请比“它有复杂的业务规则”更具体);

哪些是复杂域名的例子?

如何将域分类为复杂(即适用于DDD)?

根据我的经验3,最重要的是让您的域名变得复杂:

尺寸

大域往往会增加复杂性.处理和协调很多事情总是很难.

规则和不变量

域(即使只有几个有界上下文的域)可能在其用例和过程中有很多域规则和不变量和/或很多细微差别.这增加了复杂性.垃圾邮件实体或域间事件中的大量更改的规则通常是复杂的业务规则.

上下文

语境复杂性很难用一个例子来解释.让我们在表中列出与名为Product的实体相关的上下文复杂性.

根据具体情况;实体可能意味着您域中的不同内容.对于Factory上下文,Marketing上下文,Sales上下文,PostSales支持上下文等,Product实体的含义并不相同.

如果与产品实体相关的数据,用户案例,流程,行为等在每个上下文中都非常不同,那么即使您只有少量的上下文和实体,复杂性也会增加很多.这通常意味着您有许多Product实体(每个上下文中有一个),即使所有这些实体都受同一持久性存储支持(在ER存储的情况下,相同的表).

猜你在找的设计模式相关文章