【问题标题】:ViewModel and Model in ASP.NET MVC 3 in regards to DDD - AdviceASP.NET MVC 3 中关于 DDD 的 ViewModel 和 Model - 建议
【发布时间】:2011-08-10 20:58:45
【问题描述】:

在此处浏览教程:http://www.asp.net/mvc/tutorials/iteration-4-make-the-application-loosely-coupled-cs

我注意到他们正在将 EF 生成的实体从控制器传递到服务层。他们应该传递视图模型,然后在服务层中进行映射,还是他们所做的正确?

我试图理解视图模型到从服务层传递到持久层的实际域模型的转换。

谢谢

【问题讨论】:

    标签: asp.net-mvc-3 domain-driven-design


    【解决方案1】:

    一般规则是下层不应该了解上层。

    这意味着服务层不应该了解视图模型(因为它们是用户界面层中的实现细节)

    【讨论】:

    • 补充一点:从 EF 模型到 viewmodel 以及从 viewmodel 到 EF 模型的映射应该在 UI 层完成。
    • 参见 en.wikipedia.org/wiki/Law_of_Demeter ... 使用 ValueInjector 避免在 UI、域和 EF 对象之间手动编码分配。 EF 对象可以隐藏在您的存储库中并注入到域对象中。您可以制作 UI 特定对象并将它们绑定在您的 V 和 VM 之间,并在您的应用程序中对它们进行 ValueInject ... 但您可能会考虑放松 LoD 并将域对象仅泄漏到 VM,从而节省单独的 UI 对象维护。恐怖!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-04-24
    相关资源
    最近更新 更多