MVP設計模式簡介

2021-08-15 00:24:10 字數 1051 閱讀 8647

mvp設計模式是相對於mvc設計模式的,要介紹mvp設計模式,我們首先先了解下什麼是mvc設計模式,在mvc設計模式中,activity應該是屬於view這一層。而實際上它既承擔了view,同時也包含了一些controller的東西在裡面。我們設計程式的乙個基本原則就是高內聚,低耦合。傳統的mvc設計模式對於開發和維護來說不太友好,耦合性太高。把activity的view和controller抽離出來變成了view和presenter,這就是mvp設計模式。

mvp把activity中的ui邏輯抽象成view介面,把業務邏輯抽象成presenter介面,model類還是原來的model。

這就是mvp的設計模式,現在這樣的話activity的工作就簡單了,只用來響應生命週期,其他的工作都丟到present中去完成。present是model和view的橋梁,為了讓結構變得簡單,view不能直接對model進行操作,這也是mvp和mvc最大的不同之處。

1、分離了檢視邏輯和業務邏輯,降低了耦合。

2、activity只處理生命週期的任務,**變得更加簡潔。

3、檢視邏輯和業務邏輯分別抽象到view和presenter的介面中去,提高了diamante的可閱讀性。

4、presenter被抽象成介面,可以有多種具體的實現,所以方便進行單元測試。

5、把業務邏輯抽象到presenter中去,避免了後台執行緒引用著activity,導致activity的資源無法被系統**從而引起oom。

其中最重要的有兩點:

activity**變得更加簡潔

相信很多人閱讀**的時候,都是從activity開始的,對著乙個1000+行的**的activity看了都覺得難受,

使用mvp之後,activity就能**許多,基本上只有findviewbyid(找到布局)、setlistener(事件處理),以及int的**其他的都是對presenter的呼叫,還有對view介面的實現。這種情況下閱讀**就變得容易多了。

避免activity的記憶體洩漏

採用mvp模式,只要在當前的activity的ondestroy裡,分離非同步任務對activity的引用,就能避免activity leak。

1 簡介mvp模式

1 模型 檢視 表示器也稱為監視控制器模式 如下圖表示 2 mvp 模式希望通過表示器 presenter 來關聯網頁,而不必在他們之間建立嚴格的 3 乙個簡單的mvp架構的例子 當web窗體提交時我們先初始化乙個具體的表示器例項,並把這個例項要處理的模型與它具體的模型類關聯起來,看起來是吧web窗...

MVP設計模式

建立ipresenter介面,把所有業務邏輯的介面都放在這裡,並建立它的實現presentercompl 在這裡可以方便地檢視業務功能,由於介面可以有多種實現所以也方便寫單元測試 建立iview介面,把所有檢視邏輯的介面都放在這裡,其實現類是當前的activity fragment activity...

設計模式之 MVP

mvp是在mvc架構基礎上演變過來的。其中p presenter 處理了controller裡邊的邏輯,其實就是presenter分擔了controller的壓力。mvp的資料流向如下圖所示,分別通過介面實現。實際開發中controller一般都是存在的。只不過controller會把邏輯處理部分交...