知识卡片
引入消息契约模型保护领域模型
内容
不直接暴露领域模型给远程服务,运用DTO模式引入消息契约的三条理由:通信机制上避免为分布式序列化污染领域模型,安全上防止调用者绕过服务方法直接改数据,变化隔离上让领域逻辑与外部调用的不同变化方向解耦。代价是相似度高造成一定重复与转换成本。
参考来源
- 位置:《解构领域驱动设计》第11章11.1.1(源文件:_epub-src/OEBPS/022.xhtml)
- 结论依据:作者列出通信机制/安全因素/变化隔离三条直接暴露领域模型的坏处。
- 原始内容:之所以引入消息契约模型而非直接暴露领域模型,不只是"为了减少方法调用的数量"。