ToB企服应用市场:ToB评测及商务社交产业平台

标题: SpringMVC-01-回顾MVC架构 [打印本页]

作者: 美食家大橙子    时间: 2024-6-26 13:23
标题: SpringMVC-01-回顾MVC架构
1、什么是MVC

Model(模子):表示应用程序的核心数据和逻辑。它包括数据结构、数据库交互、业务逻辑等。模子并不直接与用户接口交互,而是被视图和控制器使用。现在一般都分离开来:持久层(数据Dao) 和 服务层(举动Service)。
View(视图):负责进行模子的展示,一般就是我们见到的用户界面,客户想看到的东西。它可以是图形界面、命令行界面、网页等。
Controller(控制器):模子和视图之间的中心人,负责处理用户的输入(如鼠标点击、键盘事件、网络请求等),将其委托给模子进行处理(状态改变),处理完毕后把返回的模子数据传递给相关视图,由视图负责展示。也就是说控制器做了个调理员的工作。
最典型的MVC就是 原生JavaWeb(JSP + servlet + javabean)的模式。

2、Model1时代


Model1优点:架构简单,比力适合小型项目开发;
Model1缺点:JSP职责不单一,职责过重(既要负责页面展示,又要处理前端请求,调用模子,进行页面跳转),不便于维护;
3、Model2时代

Model2把一个项目分成三部分,包括视图、控制、模子。

职责分析:
Controller:控制器
Model:模子
View:视图
Model2这样不仅提高的代码的复用率与项目的扩展性,且大大低落了项目的维护成本。
Model1模式的实现比力简单,适用于快速开发小规模项目,Model1中JSP页面身兼View和Controller两种角色,将控制逻辑和体现逻辑混杂在一起,从而导致代码的重用性非常低,增加了应用的扩展性和维护的难度。Model2消除了Model1的缺点。
4、回顾Servlet

MVC框架要做哪些事情
说明:
 常见的服务器端MVC框架有:Struts、Spring MVC、ASP.NET MVC、Zend Framework、JSF;
 常见前端MVC框架:vue、angular、react、backbone;
 由MVC演化出了另外一些模式如:MVP、MVVM 等等....
5、MVVM扫盲


为什么会出现MVVM?
  随着业务越来越复杂,视图交互越复杂,导致Controller越来越臃肿,需要被重构或更换。业务与视图之间需要有一个更清楚、明白、轻便的交互。MVVM由此孕育而生。
MVVM架构分层之ViewModel:
  作为中心层,它完全解耦了 View 层和 Model 层。
  与 View 层:它实现了双向绑定。
    双向绑定是MVVM的灵魂,如果MVVM没有双向绑定,那么它与MVC的差异不是很大。
    ViewModel 的内容会及时显现在 View 层,更新数据,视图就会自动得到相应更新,真正实现数据驱动开发。
    View 层显现的不再是 Model 层的数据,而是 ViewModel 的数据。
  与 Model 层:它持有了二次封装(包罗了视图的状态和举动)的 Model 数据。
    视图状态(展示)是页面的这一块展示什么,那一块展示什么。
    视图举动(交互)是页面加载进来时发生什么,点击这一块发生什么,这一块滚动时发生什么。
    这样的封装使得 ViewModel 可以完备地去形貌 View 层。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。




欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/) Powered by Discuz! X3.4