正如各种 MVC 中所讨论的 问题博文, ,我们知道 ASP.NET MVC 项目布局非常注重约定。

我盲目地在其中创建了一个子目录 Controllers 文件夹。

这感觉不对。

替代文本 http://www.imagechicken.com/uploads/1252003002097179400.png

问题: 关于存储 ViewModel 的目录的常见约定是什么?什么是 你的 建议或既定惯例是什么?

有帮助吗?

解决方案

思考 这个想法是(视图)模型应该位于模型目录中(当您创建新的 ASP.NET MVC 项目时该目录为空)。

就我个人而言,对我来说,围绕功能而不是机制安排命名空间更有意义,但是虽然这对于模型来说没有什么影响,但对于控制器和视图来说,它会产生一些影响。

其他提示

我在控制器和视图旁边使用“模型”文件夹。您的项目中是空的(我不使用区域)。

“MVC”模型中的“M”位于单独的程序集中。Web 装配中的唯一模型是演示/编辑模型。

在 Models 文件夹内,像往常一样按名称空间划分了子文件夹。所以我有:

Vertex.Data(与存储库组装等)

顶点网

Controllers
  BarController
  FooController
Models
  Bar
    BarListItem
  Foo
    FooDetail
    FooListItem
Views
  Bar
  Foo
  Shared

...ETC。

我通常为每个视图创建一个模型。即使它只是我可以使用的项目中其他某个对象的精确地图。这样我的视图及其所需的模型就与应用程序的其余部分解耦了。通过扩展视图的模型,将来向视图添加数据也变得非常容易。

预先需要做更多的工作,有时看起来像是重复的对象,但我只是更喜欢分离。

我将所有视图模型存储在 MVC 项目中创建的 models 目录中。这些“模型”与我的观点一一对应。如果视图模型不仅仅是基本数据持有者,我会使用 Models 文件夹中的子文件夹。子文件夹将包含表示该视图所需的所有内容。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top