【问题标题】:MVC Namespace organisationMVC 命名空间组织
【发布时间】:2009-02-05 11:28:51
【问题描述】:

希望 SO 社区可以帮助解决办公室中的辩论。目前我们的结论是“视情况而定”!

在 MVC 中,如何组织命名空间?

选项 A

您是否遵循 MS ASP.NET MVC 路线来拥有模型、控制器和视图命名空间?

选项 B

或者你是否将每个 MVC 三元组分成它的逻辑“功能”,例如:

特征 A

  • FeatureAModel
  • FeatureAController
  • 类型
    • IFeatureAView(接口 - 控制器不会引用具体视图)
  • 查看
    • FeatureAView(具体)

我们可以看到两者的重点。我喜欢选项 B,因为它更好地构建了我在工作室中的项目 - 一眼我就可以看到一切都在哪里,因为它是按功能分组的。但是,例如,如果我们希望将来将所有模型移到服务层中,选项 A 为我们提供了一个更容易扩展的选项。

欢迎所有想法!

【问题讨论】:

    标签: model-view-controller coding-style namespace-organisation


    【解决方案1】:

    我更喜欢在层次结构中结合两者。您的选项 A 是我的最高级别,并且在该功能内是明智的。

    【讨论】:

      【解决方案2】:

      我个人倾向于将所有控制器保持在同一个命名空间中的想法,这仅仅是因为默认情况下路由不支持命名空间。

      这意味着如果我尝试将我的控制器命名为相同的名称,我会收到编译器时错误,而不是关于路由的奇怪运行时错误。

      反正已经有不少博文了,你可以在 google 上搜索更多关于这方面的信息。

      所以我想说

      选项 A

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2015-07-22
        • 1970-01-01
        • 2012-05-16
        • 2010-09-12
        • 1970-01-01
        • 2023-03-17
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多