Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/design-patterns/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Design patterns 允许干扰域设计的点_Design Patterns_Persistence_Domain Driven Design - Fatal编程技术网

Design patterns 允许干扰域设计的点

Design patterns 允许干扰域设计的点,design-patterns,persistence,domain-driven-design,Design Patterns,Persistence,Domain Driven Design,在DDD中设计域时,Evans鼓吹数据存储之类的东西不应影响实体行为/字段,但他建议使用“深”对象图(也称交叉)。我认为在内心深处,他的潜意识是在大喊“太多的连接”或者“太多的数据通过网络传输”。。。所以我的问题是:还有什么其他因素可以影响我的设计 这个问题虽然本质上是“好”的,但过于宽泛和基于观点 你可以让任何东西激发你的设计 至于对象图的“太深”,它直接进入目标数据查询。如果你有一个很深的图形,那么你会有一种很糟糕的倾向,即拉入太多的数据,当你为了dto/webservice而精简它时,你会

在DDD中设计域时,Evans鼓吹数据存储之类的东西不应影响实体行为/字段,但他建议使用“深”对象图(也称交叉)。我认为在内心深处,他的潜意识是在大喊“太多的连接”或者“太多的数据通过网络传输”。。。所以我的问题是:还有什么其他因素可以影响我的设计

这个问题虽然本质上是“好”的,但过于宽泛和基于观点

你可以让任何东西激发你的设计


至于对象图的“太深”,它直接进入目标数据查询。如果你有一个很深的图形,那么你会有一种很糟糕的倾向,即拉入太多的数据,当你为了dto/webservice而精简它时,你会将其丢弃。

这只是适当的建模和YAGNI在起作用。您可以根据适当的业务概念设计对象。 例如,通常情况下,Agregate根没有那么大,因为它最终只是一个带有某种行为的概念。但是很多人认为它是一个容器,把所有东西都放在里面。域模型通常由许多较小的对象组成,而不是哥斯拉

您需要干净、解耦的代码。深度对象图=复杂性。为什么要让你的生活复杂化?SRP在这里非常重要,而且mammouth类常常是错误建模的标志


作为对你问题的回答,应该只允许领域来塑造设计,因为你知道。。。域驱动设计。

对于堆栈溢出来说,这个问题可能太广泛了。