【发布时间】:2016-12-21 14:53:41
【问题描述】:
我在Patterns, Principles and Practices of DDD 一书中读到,如果您想完全封装您的域模型,您可以将其属性设为私有并使用Memento 模式来阅读它们。还有一个例子,Repository 获取域模型的Snapshot,然后映射到数据库模型并将其更改保存到数据库。它还从 db 中检索数据库模型,将其映射到快照,然后使用 Factory 模式从快照重构域模型并使用它。
- 当您可以只将数据库模型映射到域模型而不使用工厂或快照时,我对这里完成了多少工作感到有点困惑。这不是更容易吗?
如果我们要照着书看,将Domain模型快照从服务层返回到表现层,然后映射到View Model,是不是正确的方法?或者在表示层创建快照并将其传递给服务层,使用工厂模式在那里重构它,然后将域模型传递到存储库,在那里它将再次拍摄其快照以映射到数据库模型并保存到db....
您能否举一些例子,当您需要使用如此复杂的映射架构时?
感觉就像你在编写复杂的代码,而它可以做得更简单。
更新
如果更容易理解我的要求,我可以提供代码示例。 ;)
【问题讨论】:
标签: orm domain-driven-design memento