MVP架構淺析

MVP是從經典的模式MVC演變而來,他們的思路有相似的地方,如:Controller/Presenter負責邏輯的處理,Model負責提供數據,View負責顯示。作爲一種新的衍生模式,MVP和MVC有着一個重大的區別:在MVP中View並不直接與Model交互,他們之間的通信是通過Presenter來進行的,所有的交互都發生在Presenter的內部,而在MVC中View會直接從Model中讀取數據,而不是通過Controller。

如圖:

MVP模式的有點

在android開發中,Activity和Fragment並不是一個MVC模式中標準的Controller,它們的首要職責是初始化用戶界面,並負責與用戶操作交互,隨着界面和業務邏輯複雜度的提升,Activity的職責不斷增加,以致變得臃腫不堪。當將其中負責的業務邏輯處理移至另外的類(Presenter)中時,Activity or Fragment專心處理數據的顯示和用戶的交互,也就是MVP模式中View層的職責,其建立UI元素與Presenter的關聯,同時也會處理一些簡單的界面邏輯。


優點:

*降低耦合度

*利於測試

*代碼複用

*數據隱藏

*代碼靈活性

採用MVP模式進行Android開發的實例

鏈接:https://github.com/Tiny-Times/android-mvp

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章