Non-MVX
没有任何分层概念,Activity控制一切
MVC
将Activity中的数据和对数据的操作提取出来作为Model,Activity充当controller和动态View,
controller指的是 控制数据更新/UI更新,数据更新发生在Model内部,controller只做控制即调用
动态View指的是 xml无法根据数据更新自己,需要Activity查找UI组件/设置交互逻辑/手动更新UI
MVP
在MVC基础上,将Activity中的controller代码抽取成presenter,Activity完全是View,职责划分非常清楚。
MVVM
MVP中Presenter要控制Activity更新UI,存在大量模板代码(findViewById/setOnClickListener/setText),MVVM的思想是让Presenter只留下控制Model更新数据,数据更新后自动更新View
示例代码
链接:https://github.com/zunpan/android-mvx-example
