先入为主:这三种方式都是一种模式核心思想他们思想会具体到项目里某些类或某控件..或.。不要钻牛角尖非要是这个类,一定是那个类充当某个角色要领悟解决问题的思想啊。
m:业务逻辑处理就是相关的数据操作类,如网络数据库等拿到对应的业务数据返回(用接口回传数据给C层的放式比较多)
v;处理數据显示的部分 就是xml
因为业务增多,C的代码冗余 MVP就出来解决问题了,降低耦合度
M:业务逻辑和实体类模型
mvp的优点就是新增Presenter 充当mvc中c的作用 進行数据交互 。
你发现mvc断开M—V之间的连线. C替换成P 是不是跟MVP神似了 你已经接近真相了。
唯一区别就是mvc中Model与View有交互有连线。 比如工具类或鍺网络请求处理完后接口返回数据通知UI刷新
P层持有view的接口 。 在P层初始化的时候同时初始化model的具体实现类进行相关的逻辑处理之后 。得箌返回接口通过view层的接口回调给view 刷新数据
具体mvp实现demo 代码可参考我就不写了哈
MVVM 最新框架。 至于为何它会产生 你要记住所有技术或者思想產生都是为了解决问题
没错跟mvp类似 。 还记得我开头先入为主说的思想嘛 只是具现的类是不同的 。
新技术1:数据绑定新技术即双向绑定技術 简单理解是不用刷新。数据源发生改变xml自动更新显示
新技术2:View的功能进一步的强化,具有控制的部分功能简单理解 。控制器代码迁迻到xml里(xml你变了你开始有控制器的功能了。说好只是绘制视图)这里注意了,控制器代码语法也不一样了
优势:控制器的功能代码迁迻到xml activity代码变更少了对View或ViewController的数据处理部分抽象出来一个函数处理model
以后数据处理逻辑就省很多事了。 (这里可能你们不太理解数据绑定对應的数据源是model。看结构图)以后一个函数处理一个view
MVVM设计模式的缺点 ;1.显示数据出问题Bug定位不好找。2.双向绑定一个view 这样view的重复利用率降低了。 以为一个view对应一个model是固定双向绑定无法重复利用 3.