【发布时间】:2020-08-05 07:54:36
【问题描述】:
我有一个专门处理创建、编辑和生成包含业务相关数据的 Word 文档的域。我还有一个包含 OpenXML SDK (.net) 并为 WordDocument 提供高级 API 的库。
我的用例是用户可以创建这样一个 word 文档(通过相应的 WPF UI),向它提供一些自定义业务相关数据(例如插入图像和文本),然后最后保存更改并销毁实例。所以我需要跟踪 word 文档的内存实例来处理所有这些。
现在遵循 DDD 方式,通常我不希望任何技术泄漏到我的域模型中,但是我需要在我的文档聚合上具有行为(如 Open()、Save()、FeedData() 等)这当然需要应用于这样的单词实例。
如果不引用我的域中的那个库,这个 Document 实例应该驻留在哪里?我相应的应用程序服务是否应该处理这样的成员实例?但这似乎很奇怪,因为通常我的服务是无状态的,并且只会协调我的实体的行为。
我强烈希望将所需技术视为我的领域的一部分,在与我们的领域专家交谈时,我们实际上是在谈论“word 文档”,因此它是无处不在的语言的一部分。如果我的假设导致我走错路,我会有点困惑。
我想我的问题是,如果领域(及其语言)包含技术,技术是否可以成为领域模型的一部分?
【问题讨论】:
标签: domain-driven-design domain-model