如何简单区分Web前后端与MVC

MVC是开发所有软件所必须涉及的基本几个划分

M主要负责数据与模型,
V主要负责显示
C主要负责交互与业务
所以不管是前端还是后端,都是有MVC的。
MVC是一个对于软件简单的抽象,不管是M还是V,还是C都是有很多细分的。
所以理解MVC是一种业务抽象是非常重要的。

前端MVC

前端流行的MVVM就是对于前端MVC结构的一次重新定义。
特别是angular这样的框架出来后,前端的MVC就非常完善了。
再加上SPA与混合APP的流行,MVC在前端就是一个完整的体系。
同理后端一样是有MVC的。

后端MVC

基本上所有的后端框架都是声称支持MVC的。所以相对于前端来讲,后端的MVC是更加清楚的。
后端的
M主要是指数据库,文件等
V主要是指包括HTML模板,HTML的组装,其它的动态UI显示技术
C是一样的,但是一般的象HTTP请求都包括了路由请求,很多HTTP模式化的业务都抽象成了对应的专用软件,比如web server, session 服务器, 队列。C当然包括业务逻辑。而业务逻辑本身就有很多种。包括搜索引擎,机器学习等,都可以归于业务逻辑。

但是很可惜的是,最近因为前端技术的飞速发展,导致很多人又开始概念不清了。
将Web前端与服务器View混为一谈,将服务器前后端与Web前后端混为一谈。

前端一般是我们对Web前端简称,并非是对所有的东西的简单称。
但是前端本身是一个可以非常广泛的概念,只要是东西必定是有前后端的。一支笔还有前后端。
你非要将服务器(通常所说的后端技术)前端也称为前端,然后与Web前端混淆,我相信你只是在耍流氓。
所以我不太建议后端开发体系中非要再搞一个所谓的服务器前端。

下面简单将前后端与MVC作个归纳:

 前端后端
M json xml html数据 等 数据库 文件 等
V 模板引擎 模板片段等 HTML模板
C JS 业务逻辑 HTTP请求交互(AJAX, JSONP, WEBSOCKET) HTTP请求路由 搜索引擎 数据分析 文件服务

 
1
原文地址:https://www.cnblogs.com/chris-oil/p/6359901.html