MVP的主要思想就是解耦View和Model
編程
先大體從圖上看一下MVP和MVC又什麼不一樣;
app
MVC:
- M : Model 數據模型,就是對數據的封裝和保存;
- V : View 視圖界面,至關於佈局文件;
- C : Controller 控制器,就是Activity和Fragment這些;
View傳送指令到Controller,Controller完成業務邏輯後,改變Model的狀態,Model將新的數據發送到View;這就是MVC的大體邏輯;
佈局
MVP:
- M : Model 數據模型,就是對數據的封裝和保存;
- V : View 視圖界面,至關於Activity用來和用戶交互;
- P : Presenter 交互者,Model和View的中間樞紐,處理用戶交互的邏輯;
View不直接與Model交互,而是經過與Presenter的交互來和Model間接的交互;View和Presenter的交互式經過接口來進行的;簡單的來講就是面向接口編程;