【发布时间】:2012-09-11 22:36:11
【问题描述】:
在asp.net mvc(4)中,开箱即用,视图进入Views文件夹,然后按控制器分组到子文件夹中。
控制器进入Controllers 文件夹,(查看/编辑/输入)模型进入Models 文件夹等。
我确实喜欢视图的组织方式。但是,我不喜欢横向破坏 MVC 的其余部分。
我的问题是,保留视图组织结构的缺点是什么,但按控制器(即按用例)对其他类进行分组。例如:
/Home
HomeController.cs
IndexViewModel.cs
IndexViewModelBinder.cs
/Messages
MessagesController.cs
MessagesApiController.cs
MessagesViewModelBinder.cs
MessageViewModel.cs
MessagesListViewModel.cs
/Views
/Home
Index.cshtml
/Messages
MessagesIndex.cshtml
MessageDetails.cshtml
【问题讨论】:
-
这主要是区域的用途。
-
Areas 会将相关组件组合在一起,没错,但您仍然会将 5 个控制器放在一个文件夹中,并将 10 个视图模型放在另一个文件夹中。所以Areas确实缓解了这个问题,但并不等同于我提出的解决方案。