网贷口子

mvp开发模式是什么意思(半分钟了解mvp模式)

MVC 模式

Model-View-Controller  ,模型-视图-控制器模式

Model:针对业务模型,建立的数据结构,Model 与 View 无关 ,而与业务有关 。

View:Android 中一般采用 XML 文件描述。

Controller:Android 中通常在 Activity,Fragment 中处理。

MVC 整体的实现过程可以概括为:

Controller 来操作 Model并将结果返回给 View 展示

 

 

一图胜前言.png

从图上可以看出 MVC 模式的缺点是 View 定义不够清晰,xml 文件属于 View 但是 Activity  、Fragment 中也有 View 的操作 ,为了解决这个问题 ,因此出现了 MVP 模式 。

mvp开发模式是什么意思(半分钟了解mvp模式)

MVP 模式

Model-View-Presenter,是 MVC 的演化版本。

Model:主要提供数据的存取功能

View:Android 中一般是 Activity,Fragment ,xml 文件

Presenter:作为 View 和 Model 之间的桥梁。

MVP 整体的实现过程可以概括为:

Model 定义好存取接口,Presenter 通过接口调用 Model 中的接口获取到结果,最后通过 View 接口去展示具体 View

 

 

image.png

从上图可以看出 MVP 解决了 MVC 中 View 定义不清晰的问题 ,同时划清了 Model 和 View 的界限,View 不能直接访问 Model,Model 也是不能直接访问 View 。

MVP 的处理大部分都是通过接口去实现的 ,这也会导致代码的逻辑层级较深,所以又出现了一个架构模式 MVVM 。

MVVM 模式

了解的不是很深入,写的可能有误 ,参考即可。

Model-View-ViewModel,和 MVP 类似,但是使用 ViewModel 替换了 Presenter 。

ViewModel :View 和 Model双向绑定 ,View 发生改变后 ViewModel 会通知 Model 跟随改变 ,同理 Model 改变 ViewModel 也会通知 View 跟随改变 。

 

 

image.png

MVVM 虽然解决了 MVP 中代码层级深度过深问题,但是需要使用 DataBinding,代码层面也不易理解。

假装总结一下

在实际开发中 ,采用 MVP 模式已经足够了,虽然类文件会变多一些,但是能够降低代码之间的偶尔同时便于维护 ,这就够了。

对于 MVP 的学习,入门例子推荐 谷歌 GitHub 上的 TODO-MVP 例子 。

如果想深入可以再把 TODO 系列看完,听说 MVP + RxJava + Dagger2 很香?

mvp开发模式是什么意思(半分钟了解mvp模式) mvp开发模式是什么意思(半分钟了解mvp模式)

延伸阅读:

网贷口子
标签:

上一篇:京东白条先用后付是什么意思?京东白条先用后付有利息吗?

下一篇:microsoft .net framework 3.5安装失败(安装故障和解决方案)

发表留言

*

*

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。