如何简单区分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的角度谈前后端分离.放心,大家一定会有种是我了,没错,的感觉. 一.先来明晰下概念 前后 ...
随机推荐
- Rabbitmq基本原理(转)
https://www.cnblogs.com/jun-ma/p/4840869.html
- 洛谷P3380 【模板】二逼平衡树(树套树,树状数组,线段树)
洛谷题目传送门 emm...题目名写了个平衡树,但是这道题的理论复杂度最优解应该还是树状数组套值域线段树吧. 就像dynamic ranking那样(蒟蒻的Sol,放一个link骗访问量233) 所有 ...
- 关于程序设计中INF和MOD值的设定
在取模操作中,我们常把MOD设置为1000000007 模一个大数和模一个质数可以减少冲突 而1e9+7又有一个很好的特点,就是相加不会爆int,相乘不会爆long long 在设置无穷大值时中我们常 ...
- PHP用户输入安全过滤和注入攻击检测
摘抄自ThinkPHP /** * 获取变量 支持过滤和默认值 * @param array $data 数据源 * @param string|false $name 字段名 * @param mi ...
- (转)win下修改jdk环境变量后,java版本不变 java -version
背景:在windows下安装了多个版本的jdk,发现修改环境变量无法切换. win 7环境下修改JAVA_HOME后,在命令行执行:java -version 发现版本没有变化,以为需要重启才行,就把 ...
- 安装【Jenkins】
前言 jenkins的一款持续集成工具, 它可以做的事情很多,其中一个主要的功能就是简化部署流程 回想一下我们的发布流程: 1.本地把项目打包 ...
- 使用tushare的pandas进行to_sql操作时的No module named 'MySQLdb'错误处理
先写在前面,用tushare获取财经类数据时,完全没有必要用python3版本 py2功能没差别,但是py3有很多地方需要修改参数才能成功运行,无端造成时间的浪费 下面进入正题,这个问题困扰了我一个下 ...
- 自己写的一个Vue
下面这里是我自己写的一个小型的vue,原理就是proxy: //Proxy天生没有prototype,因此要加上,不然extends会报错 Proxy.prototype = Proxy.protot ...
- 常见HTTP状态码(200、301、302、500等)解说
对网站管理工作者来说有个词不陌生,HTTP状态码,它是用以表示网页服务器HTTP响应状态的3位数字代码.状态码的第一个数字代表了响应的五种状态之一. 1XX系列:指定客户端应相应的某些动作,代表请求已 ...
- HTTP1.0 HTTP 1.1 HTTP 2.0主要区别
HTTP1.0 HTTP 1.1主要区别 长连接 HTTP 1.0需要使用keep-alive参数来告知服务器端要建立一个长连接,而HTTP1.1默认支持长连接. HTTP是基于TCP/IP协议的 ...