前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >MVC模式在服务端的过去、现状和未来

MVC模式在服务端的过去、现状和未来

作者头像
李鸿坤
发布2020-07-18 18:37:20
9700
发布2020-07-18 18:37:20
举报
文章被收录于专栏:泛泛聊后端泛泛聊后端

Model-View-Controller模式最开始出现于Client-Server流行的时代,它很好地解决了视图展示代码和模型及其业务逻辑代码的耦合。

从更广的角度去看,它对软件进行了分层,视图层负责进行展示,模型层负责业务逻辑的处理。而控制层则是衔接二者,它控制数据流向模型对象,并在数据变化时更新视图。随着Browser-Server应用的普及,它也跟着进入了服务端编程领域。常见的框架如Spring MVC,目前是事实上的Web MVC框架的工业标准。

View层的实现从服务端的脚本语言如JSP,到服务端渲染的模板引擎如FreeMarker,进而到目前的动静分离。通常一次MVC的请求,在框架里面流程如下。

由于视图存在多种多样,视图解析器ViewResolver通常是可以有很强的定制性。也就是说Web MVC框架大部分工作就是在 报文解析、路由寻址 和视图解析。而JavaScript越来越强大,RESTful 风格服务的普及。view层趋向于简单化,也就是JSON 为主。甚至,web边界服务使用NodeJS来实现。导致现有的MVC框架渐渐只是变成了一个HTTP服务,在有的技术栈里面MVC框架就被直接给替换了。

这就催生了以上的分层架构,核心服务层以微服务的形式存在。为上层具体应用提供实现。而边界服务的To B业务和运营管理后台 通常是View(vue.js + html) 和 Controller (nodejs) 由前端团队实现。To C 由于其并发比较高,Spring MVC在一些极限场景下并不是很合适。故而会用Netty直接进行实现,或者Spring WebFlux。

未来,纯粹的Web MVC框架可能会直接消失了,而其思想将在软件设计分层中体现。

本文参与?腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-07-13,如有侵权请联系?cloudcommunity@tencent.com 删除

本文分享自 泛泛聊后端 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与?腾讯云自媒体分享计划? ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
http://www.vxiaotou.com