Android MVP架構(1)概念介紹

Android常見的架構模式主要有以下三種:MVC、MVP、MVVM

其中,MVP以其優良的解耦以及模型與視圖完全分離的特性,被最爲廣泛的應用。

MVP(Model-View-Presenter)是MVC的改良模式,和MVC的相同之處在於:
Controller/Presenter負責業務邏輯,Model管理數據,View負責顯示只不過是將 Controller 改名爲 Presenter,
同時改變了通信方向

MVP架構如下圖所示。

由上圖可以看出,MVP具有如下特點:

  1. M、V、P之間雙向通信。
  2. View 與 Model 不通信,都通過 Presenter 傳遞。Presenter完全把Model和View進行了分離,主要的程序邏輯在Presenter裏實現。
  3. View 非常薄,不部署任何業務邏輯,稱爲“被動視圖”(Passive View),即沒有任何主動性,而 Presenter非常厚,所有邏輯都部署在那裏。
  4. Presenter與具體的View是沒有直接關聯的,而是通過定義好的接口進行交互,從而使得在變更View時候可以保持Presenter的不變。
  5. 可以編寫測試用的View,模擬用戶的各種操作,從而實現對Presenter的測試–從而不需要使用自動化的測試工具。

 

       上述特點回歸到Android裏面,其實就很容易發現,View主要由Activity進行實現。而我們需要設計的是Model和Presenter, 進行網絡請求以及數據處理。此時的程序邏輯就將與Activity完全解耦,View只需要將可能出現的結果用接口進行抽象,在Activity對回調結果進行處理即可。在下一篇博客中,將會使用接口解耦以及註解的方式實現一個自定義的MVP框架。

Android MVP架構(2)使用註解實現一個MVP框架

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