没有合适的资源?快使用搜索试试~ 我知道了~
首页传统MVC架构和前后端分离架构模式对比
资源详情
资源评论
资源推荐

传统 MVC 架构 VS 前后端分离架构
前言:MVC 和前端的 MVVM 的比较与联系:
(传统的 MVC 架构模式到 MVC 的演变,MVC 模式可以看做是对三层架构中表现层的一
种细分优化。以我的理解,MVC 模式就是分层模式中表示层最常用的架构模式。)
详细阐述:
严格说这三个加起来以后才是三层架构中的表现层,也就是说,MVC 把三层架构中的
UI 层再度进行了分化,分成了控制器、视图、实体三个部分,控制器完成页面逻辑,通过
实体来与界面层完成通话;而 C 层直接与三层中的业务逻辑层进行对话。三层和 MVC 可
以共存。 三层是基于业务逻辑来分的,而 MVC 是基于页面来分的。
三层架构的分层模式是典型的上下关系,上层依赖于下层。但 MVC 作为表现模式是
不存在上下关系的,而是相互协作关系。即使将 MVC 当作架构模式,也不是分层模式。
MVC 和三层架构基本没有可比性,是应用于不同领域的技术。
而前端的 MVVM 可以认为是 MVC 架构的演变,将传统的 MVC 模式前移到了前端,
同样的 M 表示数据模型,数据处理,相当于 MVC 架构中的 M 数据模型层;而 V 层表示视
图层,和 MVC 架构中的 V 是一样的。在之前的 MVC 架构中,M 和 V 层之间需要 C 层控
制器来联系,C 处理业务逻辑,处理用户输入的信息,负责从视图读取数据,控制用户输
入,并向模型发送数据,是应用程序中处理用户交互的部分。负责管理与用户交互交互控
制。而在 MVVM 中,用户的界面输入和数据处理是自动通过 VM 即 ViewModel 来连接的,
自动完成,不许要手动控制。而且 Model 和 ViewModel 之间的交互是双向的,因此视图
的数据的变化会同时修改数据源,而数据源数据的变化也会立即反应到 View 上。
一、 两种架构模式的介绍
1. 传统架构
a) MVC 设计模式:
Model—View-Controller 模型-视图-控制器

Model 数据层:模型是用于封装数据的载体,数据库数据的增
删改查
View 视图层:做 html 页面的展示
Controller 逻辑层:书写业务逻辑, 模型和视图需要通过控制
器来进行粘合
b) 介绍
MVC 体现了关注点分离这一基本的设计方针,它将构成一个
人机交互应用涉及的功能分为 Model、Controller 和 View 三部分,
它们各自具有相应的职责。
c) JSP+SERVLET
d) ASP.NET

2. 前后端分离架构
前后端分离是一种架构模式,说通俗点就是后端项目里面看不到页
面(JSP|HTML),后端给前端提供接口,前端调用后端提供的 REST 风
格接口就行,前端专注写页面(html|jsp)和渲染(JS|CSS|各种前端
框架);后端专注写代码就行。
前后端分离的核心:后台提供数据,前端负责显示

二、 两种架构模式的背景
1. 传统架构
前端页面的效果都是由后端控制,由后端渲染页面或重定向,
也就是后端需要控制前端的展示。
MVC 架构,Controller、View、Model 三个角色各司其职,
降低软件复杂度。各个角色有很明确的职责,即 View 只负责界面
层的展示,Controller 只负责请求,Model 只负责业务逻辑的处理。
MVC 适用场景单个业务子系统,划分的维度是职责,将不同职责
划分到独立层,但各个层的依赖关系比较灵活。
2. 前后端分离架构
a) 原因
之所以采用这种分离架构模式,主要是结合目前应用软件的发

展趋势,一是、用户越来越注重软件的体验感,随着互联网的蓬勃
发展,应用开始走向多终端化;二是,大型应用架构模式正纷纷向
着云化、微服务化发展。分离架构模式使得系统接口更加服务化、
代码更加模块化、功能更加组件化。
b) 核心思想
前端 html 页面通过 ajax 调用后端的 restuful api 接口并使用
json 数据进行交互。(前后端之间使用 JSON 来交流,两个开发团
队之间使用 API 作为契约进行交互。)
c) 发展趋势
Web 开发桌面化已经是无法阻挡的潮流,而前端开发的需求
应该会向更加注重界面表现,速度流畅,用户体验的方向发展,而
且要求只会越来越高。而在后端,稳定,性能,安全,存储,业务
等核心问题依然是主流,所以前后端的需求必将日益分化。
三、 项目开发流程
1. 传统架构
剩余21页未读,继续阅读


















安全验证
文档复制为VIP权益,开通VIP直接复制

评论0