M:modle 提供數(shù)據(jù)
V: View 負責顯示數(shù)據(jù)
P:Presenter 負責處理邏輯
MVP分為兩種模式
- PV(Passive View)
被動的View,包含其中的UI元素(比如控件)的操作不是View本身控制
而是Presenter控制
-SoC(Supervising Controller)
Soc模式下蹄衷,為了降低Presenter的復雜度,將簡單的UI處理邏輯交給View(如數(shù)據(jù)綁定辐马、數(shù)據(jù)格式化)
這些處理邏輯會體現(xiàn)在View Interface中(View實現(xiàn)的接口中)
MVP包含4個元素:
- View:負責UI元素的繪制,與用戶進行交互(Android體現(xiàn)為Activity)
- View Interface:View需要實現(xiàn)的接口局义,View通過View Interface與Presenter交互喜爷,
降低耦合,進行單元測試 - Modle: 負責存儲萄唇,檢索檩帐,操作數(shù)據(jù)(有時候也實現(xiàn)一個Modle Interface降低耦合)
-
Presenter: View與Modle進行交互的紐帶,負責處理用戶交互的邏輯
PV模式下:MVP與MVC的不同
mvp:view不與modle直接通信穷绵,presenter充當中間人
mvc:modle由presenter進行更新以后轿塔,會直接通知View更新顯示
Android MVP 詳解(上)
李旺成/MVP詳解