mvp是在mvc架構基礎上演變過來的。其中p(presenter)處理了controller裡邊的邏輯,其實就是presenter分擔了controller的壓力。 mvp的資料流向如下圖所示,分別通過介面實現。
實際開發中controller一般都是存在的。 只不過controller會把邏輯處理部分交給presenter去處理。controller的角色就是負責把m、v、p 三方給串起來。
mvp中model和view沒有直接的互動,presenter 通過介面分別和model、view互動。
view只負責展示,如果有響應事件需要處理資料,那麼會通過介面給presenter去處理,處理完之後在由present給view去更新ui。
會不會有人疑問網路請求應該放在controller還是present。其實網路請求回來的資料都是用於view展示的。如果controller去做請求的話還要交給presenter,然後present在交給view。 view如果有相應事件需要網路請求,那麼又會通過presenter交給controller, 顯然這沒有意義。
差不多就這些吧,有不對之處歡迎多多指正,謝謝!
MVP設計模式
建立ipresenter介面,把所有業務邏輯的介面都放在這裡,並建立它的實現presentercompl 在這裡可以方便地檢視業務功能,由於介面可以有多種實現所以也方便寫單元測試 建立iview介面,把所有檢視邏輯的介面都放在這裡,其實現類是當前的activity fragment activity...
MVP設計模式簡介
mvp設計模式是相對於mvc設計模式的,要介紹mvp設計模式,我們首先先了解下什麼是mvc設計模式,在mvc設計模式中,activity應該是屬於view這一層。而實際上它既承擔了view,同時也包含了一些controller的東西在裡面。我們設計程式的乙個基本原則就是高內聚,低耦合。傳統的mvc設...
MVP設計模式的寫法
android裡面用到的頁面資料互動設計模式主要有三類,主要是mvc mvp mvvm,我用的最多的就是mvp,我個人覺得mvp更容易讓人理解,因為它的邏輯性比較嚴密,而且也方便後期的在開發,當然缺點就是要寫多寫很多類和多寫很多 主要分為三大塊 model 負責資料,持久化等操作 view 介面,檢...