正如在各种 MVC问题和博文中所讨论的那样,我们知道 ASP.NET MVC 项目布局非常注重惯例。
我一味的在文件夹里做了一个子目录Controllers
。
这感觉不对。
替代文字 http://www.imagechicken.com/uploads/1252003002097179400.png
问题:关于存储 ViewModel 的目录的公认约定是什么?您有什么建议或既定惯例是什么?
正如在各种 MVC问题和博文中所讨论的那样,我们知道 ASP.NET MVC 项目布局非常注重惯例。
我一味的在文件夹里做了一个子目录Controllers
。
这感觉不对。
替代文字 http://www.imagechicken.com/uploads/1252003002097179400.png
问题:关于存储 ViewModel 的目录的公认约定是什么?您有什么建议或既定惯例是什么?
我在控制器和视图旁边使用“模型”文件夹。在您的项目中为空的同一个(我不使用区域)。
“MVC”模型中的“M”在一个单独的程序集中。Web 程序集中的唯一模型是表示/编辑模型。
在 Models 文件夹中,像往常一样按命名空间有子文件夹。所以我有:
Vertex.Data(与存储库等组装)
顶点网络
控制器 酒吧控制器 FooController 楷模 酒吧 条形列表项 富 FooDetail FooListItem 意见 酒吧 富 共享
...ETC。
我通常为每个视图创建一个模型。即使它只是我可以使用的项目中其他一些对象的精确地图。这样我的视图和它所需的模型就与应用程序的其余部分分离了。只需扩展视图的模型,它还使得将来向视图中添加数据变得非常容易。
前面需要做更多的工作,有时看起来像是复制对象,但我只是更喜欢分离。
我将所有视图模型存储在 MVC 项目中创建的模型目录中。这些“模型”与我的观点一一对应。如果视图模型不仅仅是基本数据持有者,我会使用 Models 文件夹中的子文件夹。子文件夹将包含表示该视图所需的所有点点滴滴。
我认为这个想法是 (View)Models 应该放在 Models 目录中(当你创建一个新的 ASP.NET MVC 项目时它是空的)。
就我个人而言,围绕特性而不是机制来安排命名空间对我来说更有意义,但是虽然这对于模型而言没有影响,但对于控制器和视图来说却会产生一些影响。