俺是做Android开发的。重点从Android角度诠释。
以下仅是个人见解与整理,仅供参考。
首先,M-V- X 本质都是一样的 重点还是在于M-V 的桥梁。要靠 X来牵线,X的模式之间不同 主要是 M与V 的数据传递的流程不同。数据传递的流程不同来源于运行环境技术栈能够做到的事情不同。所以无论是复杂化 简单化 还是修改流程,基本都是因为技术栈变化了 对应做的调整。先大致了解Android开发中常见的模式,以便我们更深入了解MVVM 模式。
以下仅是个人见解与整理,仅供参考。
首先,M-V- X 本质都是一样的 重点还是在于M-V 的桥梁。要靠 X来牵线,X的模式之间不同 主要是 M与V 的数据传递的流程不同。数据传递的流程不同来源于运行环境技术栈能够做到的事情不同。所以无论是复杂化 简单化 还是修改流程,基本都是因为技术栈变化了 对应做的调整。先大致了解Android开发中常见的模式,以便我们更深入了解MVVM 模式。
- MVC
View:对应于xml布局文件
Model:实体模型
Controllor:对应于Activity业务逻辑,数据处理和UI处理从上面看起来各个组件的职责视乎还挺耦合MVC的,但是打开Android的一个Activity文件,一看一言难尽, Android中经常会出现数千行的Activity代码,究其原因,Android中纯粹作为View的各个XML视图功能太弱,Activity基本上都是View和Controller的合体,既要负责视图的显示又要加入控制逻辑,承担的功能过多,代码量大也就不足为奇。所有更贴切的目前常规的开发说应该是View-Model 模式,大部分都是通过Activity的协调,连接,和处理逻辑的。
===================================================================== -
MVP
- Activity需要实现各种跟UI相关的接口,同时要在Activity中编写大量的事件,然后在事件处理中调用presenter的业务处理方法,View和Presenter只是互相持有引用并互相做回调,代码不美观。
- 这种模式中,程序的主角