MVC
Model:数据模型,用于建模型处理信息的业务逻辑
View:视图,通俗来讲就是页面展示,也是收集用户输入的
Contorller:控制器 是model和view的数据沟通者,操作模型和视图
他们之间是单向连接,用户请求输入数据到view里,view把数据转入

MVP
Mvc与mvp区别在于presenter 代替了controller ,由于mvc之间关联性比较强,比如莫得了和view之间虽然关系较弱,但是需要view经行数据跟新。于是mvp出来了,mvp原理是presenter代替了model与view之间的联系,相当于model只能和presenter之间联系。他们之间都是双向联系,俩个方向:v➡p➡m,m➡p➡v

MVVM
mvvm是由mvp进化而来,只是把mvp中的p变成了vm(viewmodel)
Model 层代表数据模型,也可以在Model中定义数据修改和操作的业务逻辑;
View 代表UI 组件,它负责将数据模型转化成UI 展现出来,
ViewModel 是一个同步View 和 Model的对象。
View 和 Model 之间并没有直接的联系,而是通过ViewModel进行交互。
ViewModel 通过双向数据绑定把 View 层和 Model 层连接了起来,而View 和 Model 之间的同步工作完全是自动的,无需人为干涉,因此开发者只需关注业务逻辑,不需要手动操作DOM, 不需要关注数据状态的同步问题,复杂的数据状态维护完全由 MVVM 来统一管理。总的来说MVVM的好处就是数据驱动,数据变,则页面变,这样就能用简单的代码,实现比较复杂的逻辑操作;因此MVVM框架比较适合逻辑复杂的前端项目
这种模式的关键技术就是数据绑定(data binding),View的变化会直接影响ViewModel,ViewModel的变化或者内容也会直接体现在View上。这种模式实际上是框架替应用开发者做了一些工作,开发者只需要较少的代码就能实现比较复杂的交互。

本文介绍了MVC、MVP和MVVM三种模式。MVC中控制器是数据沟通者;MVP用presenter代替controller,实现双向联系;MVVM由MVP进化而来,通过ViewModel实现View和Model的双向数据绑定,数据驱动页面变化,适合逻辑复杂的前端项目。
8342

被折叠的 条评论
为什么被折叠?



