asp.net-mvc – MVC企业领域 – 好还是坏?

一个单一的项目解决方案中,当您有很多控制器时,会引入区域,可以提高分离度,并允许将模块轻松地复制到或从解决方案中复制出来.然而,在大型企业解决方案中,我倾向于将逻辑分为单独的项目.

因此具有单独的UI,Controller,SOA,Model和Repository项目.在这种情况下,区域没有任何意义,加上他们通常不需要额外增加一个顶级的Url,尽管我相信你可以省略Url中的区域,如果你保持你的控制器是唯一的,但不是那有点臭吗

也许区域适用于中等复杂度的网站,或者当模块代码更好地保存在一个位置时,可以将其复制到其他站点删除.

解决方法

我不知道这是否是正确的问题.对于小型项目而言,区域可能会过度,但是很难想象一个非平凡的大型项目,不使用区域来帮助组织课堂.

我为企业使用MVC区域,并喜欢几件事情:

>通常人们正在处理给定域内的功能(例如搜索,结帐等).如果区域名称对应于您的业务域,MVC区域有助于缩短实现功能所需的时间,因为相关类很容易找到.
> MVC路由为您提供了如何结构化URL的灵活性.我曾经使用Action Controller “pattern”,但对于非公开的网址,我刚刚完全接受了“区域”认路由,使事情变得容易.
>区域给您的风格明显优势,更重要的是,在现场部分级别封装行为.每个区域都有自己的Web配置,您可以在其中控制基本视图页面添加托管处理程序.

您绝对正确的是,服务应该在单独的项目/解决方案中,通过存储库抽象数据访问,在多个客户端可以访问常见业务功能的环境中.

但是,随着Web项目的发展,MVC区域为UI /路由混乱提供了一些顺序,而对于我来说,无论上下文如何,这些都是无价的.

相关文章

### 创建一个gRPC服务项目(grpc服务端)和一个 webapi项目(...
一、SiganlR 使用的协议类型 1.websocket即时通讯协议 2.Ser...
.Net 6 WebApi 项目 在Linux系统上 打包成Docker镜像,发布为...
一、 PD简介PowerDesigner 是一个集所有现代建模技术于一身的...
一、存储过程 存储过程就像数据库中运行的方法(函数) 优点:...
一、Ueditor的下载 1、百度编辑器下载地址:http://ueditor....