【发布时间】:2017-05-17 09:02:11
【问题描述】:
我正在尝试使用 DDD 模式,作为持久存储,我正在考虑使用 NoSQL 数据库,如 LiteDB、RavenDB 或 DocumentDB。
与关系数据库相比,我的一个优势是我的域模型(整个聚合)可以序列化为 JSON 文档并存储在数据库中,避免了域模型到数据模型的映射。
但是为了在屏幕上显示数据而读取数据呢?我的 UI 显示基于视图模型的视图,但如何构建它们?我是否通过查询文档数据库。我的领域模型,然后将其映射到视图模型?
我问这个,因为它通常被提到“不要使用你的域模型进行查询(读取模型)”。
【问题讨论】:
-
在您的应用程序服务中,使用存储库从您的 NoSQL 数据库中检索聚合,然后使用一些不同的视图模型将其传递给前端。如果您遇到此类问题,还可以考虑了解一些有关 CQRS 的知识。
标签: domain-driven-design nosql