MVP模式(model-view-presenter)是MVC(model-view-controller)在android中的一种演化。
传统的MVC是实体层Model,视图层View以及控制层Controller.
- Model JavaBean实体,用于保存实数据实例
- View 程序的UI界面,接受用户的输入以及数据的展示呈现
-
Controller 主要实现了业务逻辑的控制,进而更新view以及数据实例
mvc结构图
mvc经常用于web 端用于业务是展示分离,但由于android的交互以及展示主要基于activity以及fragment,一般的业务判断和展示都会写在activity中(特别是基于生命周期的回调控制等),特别是复杂页面的业务逻辑,activity中代码很容易超过1000行以上。基于维护和可读成本的考虑,MVP便衍生出来了。
MVP 把 Activity 中的 UI 逻辑抽象成 View 接口,把业务逻辑抽象成 Presenter 接口,Model 类还是原来的 Model。基于逻辑接口的编程,使得activity更加清晰简洁,提高了可读性,同时分离了视图逻辑以及业务逻辑,降低了耦合。
MVP结构
附上官方demo实例解读
https://www.jianshu.com/p/389c9ae1a82c
网友评论