Domain driven design 实现领域驱动的设计成本

Domain driven design 实现领域驱动的设计成本,domain-driven-design,Domain Driven Design,我在我的项目中使用DDD,喜欢它的强大思想,并且独立于我的后端DB设计。 我还在前端使用MVP模式。 但最近,我遇到了将模型转换为模型>>1000个对象的性能问题,比如: 从EF存储库模型到域模型 从域模型到视图模型 同样的旅程,我应该在DB上持久化一个对象。 这是实施此模型的缺点,还是我应该遵循任何降低成本的方法 将域聚合映射到实体框架数据模型和实体框架数据模型之间,会对性能造成微不足道的影响 但为什么要一次映射1000个对象?我不了解您的需求或领域,但听起来您的设计中可能存在问题。为什么在内

我在我的项目中使用DDD,喜欢它的强大思想,并且独立于我的后端DB设计。 我还在前端使用MVP模式。 但最近,我遇到了将模型转换为模型>>1000个对象的性能问题,比如:

从EF存储库模型到域模型 从域模型到视图模型 同样的旅程,我应该在DB上持久化一个对象。
这是实施此模型的缺点,还是我应该遵循任何降低成本的方法

将域聚合映射到实体框架数据模型和实体框架数据模型之间,会对性能造成微不足道的影响

但为什么要一次映射1000个对象?我不了解您的需求或领域,但听起来您的设计中可能存在问题。为什么在内存中需要这么多聚合


我建议你分析一下你的数据库。我怀疑您正在急切地将不必要的数据从数据库加载到内存中。如果您还没有这样的工具,我建议您使用它。

将域聚合映射到实体框架数据模型时,性能会受到轻微的影响,反之亦然

但为什么要一次映射1000个对象?我不了解您的需求或领域,但听起来您的设计中可能存在问题。为什么在内存中需要这么多聚合


我建议你分析一下你的数据库。我怀疑您正在急切地将不必要的数据从数据库加载到内存中。如果您还没有这样的工具,我建议您使用。

这可能是一个很好的使用案例


当您分离读取模型时,您可以操作当前映射层,并直接从数据源中将其水合物化。

这可能是一个很好的使用案例


分离读取模型时,可以对当前映射层进行操作,并直接从数据源中将其水合。

hmmm很好。我只是想告诉你,我已经尽力避免像缓存一样将重复数据带到内存中,公共域对象…和使用的映射程序库…这就像在一个页面中,用户希望看到国家/地区的所有客户端,并且所有客户端都应该可以通过其属性进行过滤,其中一个属性可能是类似于国家/地区/地区/地区的对象…嗯,很好。我只是想告诉你,我已经尽力避免像缓存一样将重复数据带到内存中,公共域对象…和使用的映射程序库…这就像在一个页面中,用户希望看到该国家/地区的所有客户端,并且所有客户端都应该可以通过其属性进行过滤,其中一个属性可能是类似于国家/地区/地区/地区/地区的对象…您是否考虑过跳过EF存储库模型并直接映射到您的域模型相反这可以使用EF代码优先和流畅的映射,通常对域实体几乎没有影响。您是否考虑过跳过EF存储库模型,直接映射到域模型?这可以使用EF代码优先和Fluent映射,通常对域实体几乎没有影响。