内容简介:MVC/MVP/MVVM
同
如果把这三者放在一起比较,先说一下三者的共同点,也就是Model和View:
-
Model:数据对象,同时,提供本应用外部对应用程序数据的操作的接口,也可能在数据变化时发出变更通知。 Model不依赖于View的实现 ,只要外部程序调用Model的接口就能够实现对数据的增删改查。
-
View:UI层,提供对最终用户的交互操作功能,包括UI展现代码及一些相关的界面逻辑代码。
异
三者的差异在于如何粘合View和Model,实现用户的交互操作以及变更通知
- Controller
Controller接收View的操作事件,根据事件不同,或者调用Model的接口进行数据操作,或者进行View的跳转,从而也意味着一个Controller可以对应多个View。Controller对View的实现不太关心,只会被动地接收,Model的数据变更不通过Controller直接通知View,通常View采用观察者模式监听Model的变化。
- Presenter
Presenter与Controller一样,接收View的命令,对Model进行操作;与Controller不同的是Presenter会反作用于View,Model的变更通知首先被Presenter获得,然后Presenter再去更新View。一个Presenter只对应于一个View。根据Presenter和View对逻辑代码分担的程度不同,这种模式又有两种情况:Passive View和Supervisor Controller。
- ViewModel
注意这里的“Model”指的是View的Model,跟MVVM中的一个Model不是一回事。所谓View的Model就是包含View的一些数据属性和操作的这么一个东东,这种模式的关键技术就是数据绑定(data binding),View的变化会直接影响ViewModel,ViewModel的变化或者内容也会直接体现在View上。这种模式实际上是框架替应用开发者做了一些工作,开发者只需要较少的代码就能实现比较复杂的交互。
---------------------------------------------------------
Android, Windows Mobile, iPhone, J2ME, BlackBerry, Symbian
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:- MVC/MVP/MVVM
- 浅谈MVC/MVP/MVVM模式(MVC简单实现)
- 浅谈MVC/MVP/MVVM模式(上)
- 浅析前端开发中的 MVC/MVP/MVVM 模式
- Android 架构设计:MVC、MVP、MVVM和组件化
- iOS架构设计:揭秘MVC, MVP, MVVM以及VIPER
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Open Scene Graph3.0三维视景仿真技术开发详解
国防工业出版社 / 2012-7-1 / 46.00元
OpenSceneGraph 3.0三维视景仿真技术开发详解,ISBN:9787118081411,作者:杨化斌 著 杨化斌 编一起来看看 《Open Scene Graph3.0三维视景仿真技术开发详解》 这本书的介绍吧!