mvc 模式
model-view-controller ,模型-视图-控制2021山东高考器模式
model:针对业务模型,建立的数据结构,model 与 view 无关,而与业务有关。view:android 中一短发发型图片 女般采用 xml 文件描述。controller:a柳树作文ndroid 中通常在 activity,fragment 中处理。mvc 整体的实现过程可以概括为:
controller 来操作 model并将结果返回给 view 展示
一图胜前言.png
从图上可以看出 mvc 模式的缺点是 view 定义不够清晰,xml 文件属于 view 但是 activity 、fragment 中也有 view 的操作,为了解决这个问题,因此出现了 mvp 模式。
mvp 模式
model-view-prenter,是 mvc 的演化版本。
model:主要提供数据的存取功能view:android 中一般是 activity,fragment,xml 文件prenter:作为 view 和 model 之间的桥梁。mvp 整体的实现过程可以概括为:
model 定义好存取接口,prenter 通过接口调用 model 中的接口获取经典设计到结果,最后通过 view 接口去展示具体 view
image.png
从上图可以看出 mvp 解决了 mvc 中 view 定义不清晰的问题,同时划清了 model 和 view 的界限,view 不能直接访问 model,model 也是不能直接访问 view。
mvp 的处理大部分都是通过接口去实现的,这也会导致代码的逻辑层级较深,所以又出现了一个架构模式 mvvm。
mvvm 模式
了解的不是很深入,写的可能有误,参考即可。
model-view-viewmodel,和 mvp 类似,但是使用 viewmodel 替换了 prenter 。
viewmodel :view 和 model双向绑定,view 发生改变后 viewmodel 会通知 model贵阳高中排名 跟随改变,同理 model 改变 viewmodel 也会通知 view 跟随改变。
image.png
mvvm 虽然解决了 mvp 中代码层级深度过深问题,但是需要使用 databinding,代码层面也不易理解。
假装总结一下
在实际开发中,采用 mvp 模式已经足够了,虽然类文件会变多一些,但是能够降低代码之间的偶尔同时便于维护,这就够了。
对于 mvp 的学习,入门例子推荐 谷歌 github 上的 todo-mvp 例子。
如果想深入可以再把 todo 系列看完,听说 mvp + rxjava + dagger2 很香?
本文发布于:2023-04-05 17:13:15,感谢您对本站的认可!
本文链接:https://www.wtabcd.cn/fanwen/zuowen/2d316747b871d5a8b7b1d7b82ab448d0.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文word下载地址:mvp开发模式是什么意思(半分钟了解mvp模式).doc
本文 PDF 下载地址:mvp开发模式是什么意思(半分钟了解mvp模式).pdf
留言与评论(共有 0 条评论) |