看以前,先忘掉全部,一步步看就好了。 最後會有一個原型demo,固然是轉的了。看完文章,再看demo,而後再回頭看文章就很好理解了,最好本身寫一遍。html
1.mvp開發模式能夠理解爲頁面接口編程,每一層的骨架都是先經過創建接口,定義每層的必要方法,再實現方法完成的。android
2.在mvp開發模式中,把每一個模塊代碼分爲三個層,View,presenter,model層。git
3.view層從字面意義上理解,就是視圖層,在安卓的mvp開發模式中,把activity,fragment,等 一些界面顯示看做是視圖層,在這些視力層中,只作一些視圖變換操做,不對數據,邏輯進行操做。github
3.1.創建接口:經過原形設置上,根據佈局界面會有哪些改變,來編寫對應的接口方法。編程
3.2.實現接口,在對應的接口方法中,完成視圖變換操做。佈局
3.3.僅view層對視圖進行操做。初始化presenter層接口實現類對象,並把view層接口實現類的對象發送過去,以便presenter層對view層進行操做。htm
4.presenter層,控制層,在presenter層中,持有view,model層的接口實現類的對象,是經過這兩個層實現類對象對分別對這兩個層進行操做。對象
4.1.創建接口:須要建立兩個接口blog
4.1.1:接口1.根據view層要實現的功能,編寫出相應的對接口方法,接口
4.1.2:接口2.根據model層要回調回來的數據,編寫對應的回調接口,與方法。
4.2.實現接口1,2,在對應的方法中,經過view層實現類的對象對view層進行操做,經過model層實現類的回調方法,獲得業務數據
4.3.經過以上兩部,完成view層與model層的解耦與控制。
5.model層,是對數據進行請求,操做的層,處理完後,能夠把數據經過回調的方式先回調給presenter層,presenter層再經過持有的view層的接口實現類的對象中的一些方法,對view層進行操做。
5.1.創建接口,經過對業務數據需求創建接口方法。
5.2.實現接口,在實現類方法中完成對業務數據的邏輯操做,而後經過presenter的接口回調方法把數據傳遞給presenter層。
5.3.本層只操做數據,不對視圖進行任務操做。
Mvp Demo:一個粟子.
收藏的比較好的mvp博客:一篇足矣。