【问题标题】:Where do Subsonic classes go in an ASP.NET MVC Project?Subsonic 类在 ASP.NET MVC 项目中放在哪里?
【发布时间】:2010-10-14 03:39:32
【问题描述】:

我过去构建过 ASP.NET 网络表单项目,在生成 Subsonic 类时,我所在的团队已将我们的业务层/DAL 对象放入 Project.Framework 项目中。

这仍然是推荐的结构,还是应该将 Subsonic 类直接放入 MVC Web 项目中的 /Model 文件夹?

【问题讨论】:

    标签: asp.net-mvc subsonic


    【解决方案1】:

    它不应该放在 Model 文件夹中(我认为 Model 文件夹应该只用于一个仅为视图创建的类,并且不会在应用程序的其余部分中使用)。

    它应该进入一个单独的程序集也许是 Project.CoreProject.Data

    【讨论】:

    • 那么模型文件夹中的类和其他项目中的 Subsonic 对象有什么关系呢?模型只是 Subsonic 对象的包装器吗?
    • 如果您选择将模型用作 ViewModel,则模型对象旨在完美匹配您的视图,以及视图所需的任何数据。但是,以这种方式设计的 ViewModel 是一个糟糕的领域模型。让您的 Controller 与 ViewModel 对话,ViewModel 与 DomainModel 对话(SubSonic 类)
    【解决方案2】:

    可以将它们放入模型中,稍后再将它们移动到自己的项目中,但现在将它们放入自己的项目中并没有更多的工作,所以我会这样做。

    【讨论】:

      【解决方案3】:

      我不会将 Subsonic 类直接放在 MVC 项目中。由于您没有使用 ASP.NET,因此现在没有理由更改。

      我什至不会将控制器留在 MVC Web 项目中。

      【讨论】:

        猜你喜欢
        • 2010-09-18
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-06-03
        • 1970-01-01
        • 2010-11-01
        • 1970-01-01
        • 2018-07-14
        相关资源
        最近更新 更多