如何简单区分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
- 踩
如何简单区分Web前后端与MVC的更多相关文章
- Web前后端缓存技术(缓存的主要作用是什么)
Web前后端缓存技术Web前后端缓存技术(缓存的主要作用是什么) 一.总结 一句话总结: 加快页面打开速度 减少网络带宽消耗 降低服务器压力 1.在Web应用中,应用缓存的地方有哪些? 主要有浏览器缓 ...
- 淘宝玉伯引发Web前后端研发模式讨论
淘宝玉伯是是前端基础类库 Arale 的创始人,Arale 基于 SeaJS 和 jQuery.不久前,淘宝玉伯在 Github 的 Arale 讨论页面上抛出了自己对于Web 前后端研发模式的思考. ...
- web前后端分离漏洞分析防御
web前后端分离漏洞分析防御 漏洞分析,主要漏洞有 一.跨站脚本攻击XSS 程序 + 数据 = 结果:攻击后,数据夹杂一部分程序(执行代码),导致结果改变: 1.XSS攻击注入点 (a):HTML节点 ...
- web前后端交互,nodejs
手机赚钱怎么赚,给大家推荐一个手机赚钱APP汇总平台:手指乐(http://www.szhile.com/),辛苦搬砖之余用闲余时间动动手指,就可以日赚数百元 web前后端交互 前后端交互可以采用混合 ...
- web前后端安全问题
1. 安全问题主要可以理解为以下两方面: 私密性:资源不被非法窃取和利用,只有在授权情况下才可以使用: 可靠性:资料不会丢失.损坏及篡改: 2. web安全的层面 代码层面:写代码时保证代码是安全的, ...
- 浅谈WEB前后端分离
重审业务逻辑 用过MVC的童鞋都知道业务逻辑(Bussiness Logic),但是大多对这概念又是模棱两可,业务逻辑从来都是这样难以理解,谈论前后端分离之前这个概念非常有必要探讨一下! 在简单的CR ...
- Web前后端分离知识整理
Web研发模式的演变 职责分离(减少扯皮,开发效率),代码分离(可维护性) 简单明快的早期时代 后端为主的 MVC 时代 Ajax 带来的 SPA 时代 前端为主的 MV* 时代 Node 带来的全栈 ...
- Web前后端分离开发(CRUD)及其演变概括
今天学习了前后端分离开发模式又从网上查了一些资料就写了一篇博客分享: 一.为什么分离前后端 1.1早期开发 1.2后段为主mvc模式 1.2.1Structs框架介绍 1.2.2Spring mcv开 ...
- 浅谈Web前后端分离的意义
自然是有很大意义的.下面我可能说的比较多--方便题主能够更全面的了解为什么说是有有意义的.另外,本文是以Java的角度谈前后端分离.放心,大家一定会有种是我了,没错,的感觉. 一.先来明晰下概念 前后 ...
随机推荐
- MT【173】齐次消元单变量
已知$x\ge0,x^2+(y-2)^2=1,W=\dfrac{3x^2+2\sqrt{3}xy+5y^2}{x^2+y^2}$,求$W$的最值. 提示:$x\ne0$时,设$t=\dfrac{y}{ ...
- 【题解】 [ZJOI2009]假期的宿舍 (二分图匹配)
懒得复制题面,戳我 Solution: 处理出床位.要留校的人(注意来访问的人一定住校),和人与人的关系(连边) 再接着就是二分图. 注意的就是连向的人必须是有床位的 还要注意的就是只用判断住校的同学 ...
- HGOI20190126 模拟赛
/* 最后一题比较难! */ solution:观察这个奇怪的图,不能共用走廊,就是1.2打包,3,4打包,每个包之间连线的线段覆盖问题. 考虑吧每个数映射成一个约为一半的数,且相邻(前奇后偶映射值一 ...
- 洛谷 P2671 求和 解题报告
P2671 求和 题目描述 一条狭长的纸带被均匀划分出了\(n\)个格子,格子编号从\(1\)到\(n\) .每个格子上都染了一种颜色\(color_i\)用\([1,m]\)当中的一个整数表示),并 ...
- alpine编译安装tengine,并使用supervisor启动
Alpine是一个小型的linux系统,官方docker镜像只有不到5MB,非常适合作为容器镜像. Alpine Linux is a security-oriented, lightweight L ...
- 解题:ZJOI 2006 皇帝的烦恼
禁止DP,贪心真香 有一个比较明显的贪心思路是让每个人和距离为$2$(隔着一个人)的人尽量用一样的,这样只需要扫一遍然后对每对相邻的人之和取最大值即可.但是当人数为奇数时这样就会出锅,因为最后一个人和 ...
- mysql的引擎选择
MyISAM 和InnoDB 讲解 InnoDB和MyISAM是许多人在使用MySQL时最常用的两个表类型,这两个表类型各有优劣,视具体应用而定.基本的差别为:MyISAM类型不支持事务处理等高级处理 ...
- Signal ()函数详细介绍
1. 功能 设置某一信号的对应动作 2. 声明 #include <signal.h> typedef void (*sighandler_t)(int); sighandler_t si ...
- Spark记录-spark报错Unable to load native-hadoop library for your platform
解决方案一: #cp $HADOOP_HOME/lib/native/libhadoop.so $JAVA_HOME/jre/lib/amd64 #源码编译snappy---./configure ...
- bzoj千题计划197:bzoj4247: 挂饰
http://www.lydsy.com/JudgeOnline/problem.php?id=4247 先把挂饰按挂钩数量从大到小排序 dp[i][j]前i个挂饰,剩下j个挂钩的最大喜悦值 分挂和不 ...