mvp是什麼
本文已影響1.9W人
本文已影響1.9W人
mvp是什麼,你知道嗎?mvp指的是一種資料讀取能力,還有一種說法是指在遊戲中獲得最高經濟和人頭數的玩家。mvp和mvc是不同的,mvp可以更高效的使用模型,想了解更多mvp是什麼嗎?一起往下看。
mvp是什麼1
MVP
mvp的全稱為Model-View-Presenter,Model提供資料,View負責顯示,Controller/Presenter負責邏輯的處理。MVP與MVC有著一個重大的區別:在MVP中View並不直接使用Model,它們之間的通訊是通過Presenter (MVC中的Controller)來進行的,所有的互動都發生在Presenter內部,而在MVC中View會直接從Model中讀取資料而不是通過 Controller。
MVC和MVP
在MVC裡,View是可以直接訪問Model的!從而,View裡會包含Model資訊,不可避免的還要包括一些業務邏輯。 在MVC模型裡,更關注的Model的不變,而同時有多個對Model的不同顯示,及View。所以,在MVC模型裡,Model不依賴於View,但是View是依賴於Model的。不僅如此,因為有一些業務邏輯在View裡實現了,導致要更改View也是比較困難的,至少那些業務邏輯是無法重用的。
解決MVC問題
在MVP裡,Presenter完全把Model和View進行了分離,主要的程式邏輯在Presenter裡實現。而且,Presenter與具體的View是沒有直接關聯的,而是通過定義好的介面進行互動,從而使得在變更View時候可以保持Presenter的不變,即重用! 不僅如此,我們還可以編寫測試用的View,模擬使用者的各種操作,從而實現對Presenter的測試--而不需要使用自動化的測試工具。 我們甚至可以在Model和View都沒有完成時候,就可以通過編寫Mock Object(即實現了Model和View的介面,但沒有具體的內容的)來測試Presenter的邏輯。 在MVP裡,應用程式的邏輯主要在Presenter來實現,其中的View是很薄的一層。因此就有人提出了Presenter First的設計模式,就是根據User Story來首先設計和開發Presenter。在這個過程中,View是很簡單的,能夠把資訊顯示清楚就可以了。在後面,根據需要再隨便更改View,而對Presenter沒有任何的影響了。 如果要實現的UI比較複雜,而且相關的顯示邏輯還跟Model有關係,就可以在View和Presenter之間放置一個Adapter。由這個 Adapter來訪問Model和View,避免兩者之間的關聯。而同時,因為Adapter實現了View的介面,從而可以保證與Presenter之間介面的'不變。這樣就可以保證View和Presenter之間介面的簡潔,又不失去UI的靈活性。 在MVP模式裡,View只應該有簡單的Set/Get的方法,使用者輸入和設定介面顯示的內容,除此就不應該有更多的內容,絕不容許直接訪問Model--這就是與MVC很大的不同之處。
mvp是什麼2
優點
1、模型與檢視完全分離,我們可以修改檢視而不影響模型
2、可以更高效地使用模型,因為所有的互動都發生在一個地方——Presenter內部
3、我們可以將一個Presenter用於多個檢視,而不需要改變Presenter的邏輯。這個特性非常的有用,因為檢視的變化總是比模型的變化頻繁。
4、如果我們把邏輯放在Presenter中,那麼我們就可以脫離使用者介面來測試這些邏輯(單元測試)
缺點
由於對檢視的渲染放在了Presenter中,所以檢視和Presenter的互動會過於頻繁。還有一點需要明白,如果Presenter過多地渲染了檢視,往往會使得它與特定的檢視的聯絡過於緊密。一旦檢視需要變更,那麼Presenter也需要變更了。比如說,原本用來呈現Html的Presenter需要用於呈現Pdf,那麼Presenter很有可能也需要變更。
make up for ever是什麼牌子 make up for ever是什麼檔次
plmm是什麼意思 plmm是什麼梗
lvmh是lv嗎 lvmh是什麼品牌 lvmh旗下的品牌
make up for ever怎麼讀 make up for ever翻譯成中文是什麼
pg one最新單曲OPPOflow MV曝光 pg one OPPOflow歌詞是什麼
vero moda是哪個國家的 vero moda是什麼價位 vero moda為什那麼貴
Makeup Revolution是什麼牌子 Makeup Revolution桃心腮紅試色
mvmt手錶是什麼牌子 mvmt手錶什麼檔次
LPLIMvsOMG怎麼暫停了?IM暫停原因是什麼?
makeupforever是哪個國家的 makeupforever什麼檔次
mvp是指什麼 mvp是指什麼意思
看月亮爬上來mv女主角是鄭爽嗎 鄭爽拍張傑mv是真的嗎
Supreme和superme區別是什麼 Supreme還是superme
mac新款脣釉Love Weapon是什麼顏色 mac新款脣釉Love Weapon試色
venus marble是什麼牌子 venus marble是哪個國家的什麼檔次
apm monaco是什麼牌子 apm monaco是奢侈品嗎
make up forever散粉怎麼樣 make up forever散粉專櫃價格
2018nba常規賽mvp是誰
HPV疫苗二價四價九價區別是什麼 HPV疫苗多少錢一針
臉上笑嘻嘻心裡mmp是什麼梗 臉上笑嘻嘻心裡mmp是什麼意思
champion是什麼牌子 champion是哪個國家的 champion是潮牌嗎
VeroModa是什麼牌子中文名叫什麼 VeroModa是什麼檔次
vetements是哪個國家的 vetements是什麼品牌
adidas harden vol1 mvp哈登最新款什麼時候發售多少錢
misbhv是什麼牌子 misbhv是什麼檔次
王者榮耀mvp是什麼意思:教你怎樣獲得全場最佳mvp
puma是什麼牌子怎麼讀?puma是什麼檔次?
vetements和champion聯名款在哪裡買 vetements和champion聯名款介紹
vero moda是什麼牌子 vero moda是什麼檔次
puma的logo是什麼動物 puma的標誌是什麼豹
makeupforever氣墊脣釉400是什麼顏色 makeupforever氣墊脣釉400試色
鄧紫棋新歌倒數mv什麼意思 鄧紫棋倒數mv男主是誰
nike air vapormax plus是真的嗎?耐克將推出
puma是什麼牌子多少錢 puma是哪個國家的品牌
nike air vapormax無鞋帶版發售了嗎 耐克vapormax無鞋帶版多少錢
周杰倫說好不哭MV彩蛋是什麼 周杰倫說好不哭MV講的是什麼
周杰倫新歌mv是悲劇嗎 周杰倫新歌mv故事結局是什麼
張藝興最新mv女舞伴叫什麼名字 張藝興最新mv是什麼歌
APM Monaco是哪國牌子 APM Monaco是什麼材質
新賽季NBA年度MVP是誰?魔術強森預言詹皇當選
陳情令mv為什麼要收費 陳情令主題曲無羈mv什麼時候下架
super fly mvp評測 這雙aj對得起mvp三個字
求婚大作戰插曲MP3是什麼歌 求婚大作戰插曲MV曝光