2

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

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

选项 A

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

选项 B

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

特征 A

  • 特征模型
  • 特征控制器
  • 类型
    • IFeatureAView(接口 - 使控制器不引用具体视图)
  • 看法
    • FeatureAView(具体)

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

欢迎所有想法!

4

2 回答 2

1

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

于 2009-02-05T11:34:29.003 回答
0

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

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

无论如何,已经有很多博客文章,您可以在 google 上搜索有关此的更多信息。

所以我会说

选项 A

于 2009-02-06T21:53:25.587 回答