mvp和mvc的优缺点,ajax
文章1、MVC2、MVVM3、MVP、MVC和mvvm的区别
一、MVC
在模型视图控制器(MVC )中:
模型是在APP应用程序中用于处理APP应用程序数据逻辑的部分。 模型对象通常负责访问数据库中的数据。
视图是APP应用程序中处理数据显示的部分。 视图通常是基于模型数据创建的。 (查看所有接口) ) ) ) ) )。
Controller是APP应用程序中处理用户交互的部分。 控制器通常从视图中读取数据,控制用户输入,并将数据发送到模型。 view操作启动控制器以更改模型,模型更改视图
二、mvvmmvvm(model-view-viewmodel )中:
View表示UI视图,负责显示数据。
Model是数据层(保存数据,进行追加、删除、重新评估等数据处理) )。
ViewModel拦截模型中的数据更改,控制视图更新,并处理用户交互。
模型和视图没有直接关联,而是通过视图模型进行联系。 也就是说,是数据的双向绑定,当模型发生变化时,View可以实时更新,当View发生变化时,Model也发生变化。 当用户操作View时,ViewModel感知到变化,并通知Model发生了相应的变化; 相反,当模型发生变化时,视图模型也可以感知到变化,并使视图进行相应的更新。
三. MVP MVP为单词模型视图
Presenter首字母缩写。 分别表示数据层、视图层、发行层,是MVC体系结构的进化。 作为新机型,MVP和MVC有很大的区别。 在MVP中,View不直接使用模型,而是通过Presenter进行通信
(在MVC中为Controller )进行,所有交互都发生在Presenter内部,在MVC中View直接从Model读取数据,而不是通过
控制器
MVP设计模式与MVC设计模式的区别:1.MVP模式将控制器改名为Presenter,同时改变了通信方向。
各部分之间的通信都是双向的
2.View不与模型联系,全部通过Presenter传达
3 .视图非常薄,不引入称为“被动视图”(Passive View )的业务逻辑。 也就是说,没有能动性,Presenter非常厚,所有逻辑都将引入其中
四、MVC和MVVM不同两种模式之间最大的区别是MVVM实现了View和Model的自动同步。 也就是说,当Model的属性发生变化时,我们不再是自己手动操作Dom元素来改变View的显示,而是改变属性后,其属性会根据View层的显示自动变化,所以开发者只需要集中精力进行数据的维护操作即可。
MVM的优点: MVVM是MVC和MVP的进一步改善。
从总体上看,MVVM比MVC简化得多,不仅简化了业务和接口依赖,而且解决了数据频繁更新的问题,不需要在选择器中操作DOM元素。 在MVVM中,View不知道Model的存在,Model和ViewModel也观察不到View,因此这种低耦合模式提高了代码的复用性