MVC模式刚刚开始兴起的时候,我的一位教.Net的前辈决定教我.Net MVC。说这个事情之前,我们得首先了解下什么是MVC,MVC是模型(Model)、View(视图)、Controller(控制器)的简称,是一种比较先进的开发模式、架构,实现了业务的分离,降低了代码之间的耦合性。这其实就是MVC的好处之一!
当时我不光学了.Net MVC,还学了Spring MVC,是不是觉得很惊讶?Java的HHS组合框架那时候我玩得还是很好的,只不过现在都忘干净了而已!
后来我之所以选择了.Net,除了我本身.Net就学得很好以外(相对于Java),教我.Net的前辈的一句话也稍微影响了我。
我记得他说:“我觉得MVC模式未来肯定会成为主流的开发模式、而.Net MVC在这方面表现得非常优秀,未来将是.Net MVC的天下!”。
然后,我就信了!
时至今日,看来教我.Net那个前辈只说对了一半,MVC的确成为了主流,但是.Net MVC却没有坐上这方面的头把交椅!时至今日,看来教我.Net那个前辈只说对了一半,MVC的确成为了主流,但是.Net MVC却没有坐上这方面的头把交椅!
.Net MVC包括现在的.Net Core Mvc(其实它俩在代码层面区别不是太大),现在真正经常被用到的还仅仅是Controller(控制器)层,其他两个层基本上被像Vue.js+ElementUI这样的前端框架给取代了!
甚至,抛开MVC不谈,.Net、.Net Core还支持单独创建以Controller(控制器)层为主的WebApi项目和连控制层都不需要的MinWebApi(可以看作是简化了Controller层的框架)项目。甚至,抛开MVC不谈,.Net、.Net Core还支持单独创建以Controller(控制器)层为主的WebApi项目和连控制层都不需要的MinWebApi(可以看作是简化了Controller层的框架)项目。
MVC在.Net中虽然目前依然存在,但是基本上模型和视图层被弱化了!
当然了,也有公司还在坚持使用.Net、.Net Core的MVC开发模式,但是这种公司基本上属于少数。
为什么会导致现在的局面呢?道理其实很简单,那就是.Net的MVC它只实现了开发分离,没有实现部署分离(记忆中Spring Mvc也是这样)。
现在主流的前后端分离的开发模式,其优势在于将代码很明确的区分出了前端和后端,前端使用一个开发框架,后端使用一个开发框架,互不干扰!
但是,.Net中的MVC因为有Model的存在,其实在耦合性上要比前后端分离的开发模式上强一些。也就是说,现在主流的前端框架,是进一步降低了前后端代码的耦合性。
.Net Mvc中的View在离开了Model以后基本上“武功”就废了!因为Model是在Controller层定义的,因此虽然Model、View、Controller看似耦合性不高,但是实际上还是有耦合性的!尤其是在Controller层还要经常控制页面的转发和重定向。
可像Vue.js+Element这样的前端框架就不一样了,单独将Model和View联系在了一起,然后去访问Controller层,Controller层只管数据,不管页面!
前后端分离的开发模式可能相比.Net MVC唯一的劣势就在于需要重复构建Model,也可能会出现前后端不一致的情况,但是,这些其实都是可以在开发过程中避免的!
我不知道当初教我.Net的那位前辈现在是怎么想的,不知道有没有失望呢?
特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.