asp.net – MVC3何时使用区域?

我正在开发一个敏捷的MVC3项目,它开始变得相当大,特别是我的管理部分,用户可以设置很多配置等。这是我的第一个MVC3项目,所以我只是好奇,当它使用区域有意义吗?

像一个特定部门(如管理层)的控制器在决定将其分解成一个区域并为个人管理操作创建控制器之前应该多大?

另外,当使用区域时,我应该重构使用区域的一切,还是仅仅需要一个区域的区域?

解决方法

有开发商有如何组织这个意见,但我的意见如下:

控制器只应负责与视图进行交互。也就是说,实例化和填充模型对象,从业务对象或数据访问层检索数据,响应来自页面的任何请求(表单提交,AJAX请求,动态资源创建方法/类的接口(如创建CAPTCHAs或其他动态图像))等。如果你坚持这个哲学,他们的大小和复杂性不应超过你的意见。

区域我倾向于使用区域将应用​​程序分解为子应用程序。例如,一个网站可能会有一个讨论论坛,产品目录,公司信息,支持数据库等,这些都是单独的领域:

/areas/forum/...
/areas/product/...
/areas/company/...
/areas/support/...

然后,在每个区域,你可能有

/areas/support/{views|controllers}
/areas/support/search/
/areas/support/contact/
/areas/support/knowledgebase/

等等

就像Webforms网站中每个文件夹都代表网站不同的“区域”一样,区域提供了另一个级别的组织,可以将相关的控制器,视图等保持在一个共同的位置,并且应该以类似的方式使用。

相关文章

项目要求通过网站上传大文件,比如视频文件,通过摸索实现了文件分片来上传,然后后台进行合并。 使用了...
安装新版本的Nginx(vim /etc/yum.repos.d/nginx.repo) [nginx-stable] name=nginx stable repo baseu...
什么是 SignalR ASP.NET Core ASP.NET Core SignalR 是一种开放源代码库,可简化将实时 web 功...
在Windows下使用Docker,我们选择Docker Desktop这个软件,非常方便。 ## Docker Desktop介绍及安装 Do...
项目开始设计的是运行在windows下,所以一开始采用的是windows服务模式来获取多媒体文件信息,后来要求...
银河麒麟高级服务器操作系统V10是针对企业级关键业务,适应虚拟化、云计算、大数据、工业互联网时代对主...