在刚刚接触android的mvp前,早就有过对mvp有一些了解。
Most Value Player 我个人在游戏的结算页面经常会获得这个,那么今天我们不对游戏进行讨论,今天的mvp是android中的mvp结构,
在我刚刚接触安卓时就知道了MVC ,那么mvp就是由mvc演变而来,既然是演变而来,他们就有一些相通的地方,Controller/Presenter负责逻辑的处理,Model提供数据,View负责显示,
作为一个新的模式,MVC和MVP有一个重大的区别:
在MVP中View不能直接使用Model,而是要通过Presenter进行通信。
所有的交互都发生在Presenter的内部,而MVC中的View会直接从Model中提取数据,不是通过Controller。
MVP的架构:
View: 对应于Activity,负责View的绘制以及与用户交互
Model: 依然是业务逻辑和实体模型
Presenter: 负责完成View于Model间的交互
**Presenter与View的交互是通过接口来进行的。
MVC架构:
View:对应于布局文件
Model:业务逻辑和实体模型
Controllor:对应于Activity
总结一下就是MVP减轻了activity的负担,可以让activity中的代码更简洁,提高代码复用性和灵活度