【发布时间】:2019-08-02 08:58:18
【问题描述】:
终于开始掌握领域驱动设计的窍门,在我看来,将持久性模型 (PM) 与领域模型 (DM) 分开是有意义的。
- DM 包含工厂函数
- DM 包含在工厂函数中触发的事件
- DM 是不可变的(只能通过工厂创建)
由于从 PM 到 DM 的映射应该在存储库中完成,并且 DM 应该是不可变并且不知道 PM,我是否应该只创建一个接受所有参数但现在调用的工厂函数事件?
服务层使用工厂函数将 DTO 转换为 DM,然后在任务完成时映射回 DTO。
或者用简单的方法在 DM 中创建一个以 PM 作为参数的工厂函数,反之亦然?
我的解决方案是:从 DDD 中交换一些纯度和清晰性,以使设计更高效并降低复杂性。
【问题讨论】:
-
这个问题不适合 Stack Overflow,因为它太宽泛且基于观点。
-
如果 Stack Overflow 帮不上忙,谁能...
-
我不知道,但就是这样,问题必须符合一定的标准,见How to Ask。
-
嗯,谢谢你的努力。认为我会放弃一些纯洁,如所说。
标签: c# entity-framework domain-driven-design n-tier-architecture