【问题标题】:ASP.Net MVC Architecture - Location of ViewModelsASP.Net MVC 架构 - ViewModel 的位置
【发布时间】:2010-12-18 06:35:42
【问题描述】:

目前我们有一个规模不错的 MVC 项目运行良好,我已经开始考虑一些重构,我有一个问题。

目前,数据层和服务层存储在单独的类库中。控制器从执行任何逻辑检查的服务层加载数据对象(从 linq2sql 生成),然后将它们转换为视图模型(使用 Auto-Mapper)。

是否应该直接从服务返回 ViewModel?

【问题讨论】:

    标签: asp.net architecture asp.net-mvc-2


    【解决方案1】:

    绝对不是!

    ViewModel 的目的是在视图和“真实”数据对象之间进行调解——它完全是特定于视图的。因此,如果您想保持关注点的清晰分离,那么除了您的 GUI 之外的层甚至不应该知道存在这样的模型......

    【讨论】:

    【解决方案2】:

    我会说不是。该服务的重点是它可以被处理您的业务层的许多不同项目使用。我希望这是就您的业务对象而言。视图模型特定于 MVC 应用程序,因此,我希望它们与服务层分开。请注意,它们通常包含应用程序的业务和“内务”数据,并且可能封装多个业务对象。我想我会继续在您的控制器中转换它们。

    【讨论】:

    • 这就是我的想法。谢谢,我会留下这个开放的其他意见。
    猜你喜欢
    • 1970-01-01
    • 2011-10-20
    • 2013-12-27
    • 1970-01-01
    • 1970-01-01
    • 2014-03-10
    • 2010-09-25
    • 1970-01-01
    • 2010-10-06
    相关资源
    最近更新 更多