实施域驱动设计成本

时间:2015-05-14 06:03:23

标签: domain-driven-design

我在我的项目中使用DDD并且喜欢它拥有的强大Idea并独立于我的后端数据库设计。  我也在前端END中使用MVP模型。 然而,最近,我遇到了将模型转换为模型(一次>>> 1000个对象)的性能问题,如:

  1. 从EF存储库模型到域模型
  2. 从域模型到ViewModel
  3. 同样的旅行我应该坚持在DB上保留一个对象。 这是实施这个模型的缺点还是有任何方法可以降低我应该遵循的成本。

2 个答案:

答案 0 :(得分:3)

使用CQRS可能是个好例子。

当您分离读取模型时,您可以省略当前的映射图层并直接从数据源中进行水合。

答案 1 :(得分:2)

"映射"应该会产生微不足道的性能影响。您的域聚合到您的Entity Framework数据模型,反之亦然。

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

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