2

正如在各种 MVC问题文中所讨论的那样,我们知道 ASP.NET MVC 项目布局非常注重惯例。

我一味的在文件夹里做了一个子目录Controllers

这感觉不对。

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

问题:关于存储 ViewModel 的目录的公认约定是什么?有什么建议或既定惯例是什么?

4

3 回答 3

11

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

“MVC”模型中的“M”在一个单独的程序集中。Web 程序集中的唯一模型是表示/编辑模型。

在 Models 文件夹中,像往常一样按命名空间有子文件夹。所以我有:

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

顶点网络

控制器
  酒吧控制器
  FooController
楷模
  酒吧
    条形列表项
  富
    FooDetail
    FooListItem
意见
  酒吧
  富
  共享

...ETC。

于 2009-09-03T17:40:28.557 回答
7

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

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

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

于 2009-09-03T17:43:37.847 回答
5

认为这个想法是 (View)Models 应该放在 Models 目录中(当你创建一个新的 ASP.NET MVC 项目时它是空的)。

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

于 2009-09-03T17:42:51.530 回答