把Activity的View和Controller抽離出來(lái)就變成了View和Presenter,這就是MVP模式。在A(yíng)ndroid項(xiàng)目中,Activity和Fragment占據(jù)了大部分的開(kāi)發(fā)工作。
成都創(chuàng)新互聯(lián)公司,為您提供網(wǎng)站建設(shè)公司、成都網(wǎng)站制作、網(wǎng)站營(yíng)銷(xiāo)推廣、網(wǎng)站開(kāi)發(fā)設(shè)計(jì),對(duì)服務(wù)PE包裝袋等多個(gè)行業(yè)擁有豐富的網(wǎng)站建設(shè)及推廣經(jīng)驗(yàn)。成都創(chuàng)新互聯(lián)公司網(wǎng)站建設(shè)公司成立于2013年,提供專(zhuān)業(yè)網(wǎng)站制作報(bào)價(jià)服務(wù),我們深知市場(chǎng)的競(jìng)爭(zhēng)激烈,認(rèn)真對(duì)待每位客戶(hù),為客戶(hù)提供賞心悅目的作品。 與客戶(hù)共同發(fā)展進(jìn)步,是我們永遠(yuǎn)的責(zé)任!
代碼維護(hù)性高,代碼出線(xiàn)Bug,能夠快速定位。功能擴(kuò)展性強(qiáng),增加業(yè)務(wù)功能時(shí),并不需要去修改原始代碼,只需增加相應(yīng)的業(yè)務(wù)代碼即可。MVP開(kāi)發(fā)模式的缺點(diǎn):項(xiàng)目會(huì)出現(xiàn)大量的presenter,大大增加了類(lèi)的數(shù)量。
MVP概念:MVP(Model-View-Presenter) 是總所周知MVC模式的一個(gè)演變,主要目的都是劃分模塊職責(zé),降低模塊耦合,易測(cè)試,提高代碼復(fù)用。層級(jí)責(zé)任 Model:負(fù)責(zé)數(shù)據(jù)的檢索,持久化等操作。
而且每個(gè)人都只專(zhuān)注于自己那部分,對(duì)于大項(xiàng)目,或者工期緊的項(xiàng)目是非常重要的。要掌握好度,對(duì)于十分簡(jiǎn)單的功能,也要分的稀碎,就有點(diǎn)過(guò)度設(shè)計(jì)之嫌了。
理解MVC架構(gòu)模式的思想【MVC是其他架構(gòu)模式之爹,他的思想是MVP、MVVM、MVI的基礎(chǔ),學(xué)會(huì)它是關(guān)鍵步驟~】。 學(xué)習(xí)kotlin的StateFlow組件,的使用:Sequence-Flow-StateFlow。
最近在我的 Android 項(xiàng)目中也準(zhǔn)備應(yīng)用 MVI 來(lái)替換原有的 MVP 。
在MVVM中數(shù)據(jù)是直接綁定到UI控件上的(部分?jǐn)?shù)據(jù)是可以直接反映出UI上的內(nèi)容),那么我們就可以直接通過(guò)修改綁定的數(shù)據(jù)源來(lái)間接做一些AndroidUI上的測(cè)試。 通過(guò)上面的簡(jiǎn)述以及模式的對(duì)比,我們可以發(fā)現(xiàn)MVVM的優(yōu)勢(shì)還是非常明顯的。
MVP下Activity和Fragment體現(xiàn)在了這一層,Activity一般也就做加載UI視圖、設(shè)置監(jiān)聽(tīng)再交由Presenter處理的一些工作,所以也就需要持有相應(yīng)Presenter的引用。
接下來(lái),我們先來(lái)看看什么是MVVM,然后再一步一步來(lái)設(shè)計(jì)整個(gè)MVVM框架。MVC、MVP、MVVM 首先,我們先大致了解下Android開(kāi)發(fā)中常見(jiàn)的模式。MVC View:XML布局文件。Model:實(shí)體模型(數(shù)據(jù)的獲取、存儲(chǔ)、數(shù)據(jù)狀態(tài)變化)。
第一個(gè)用 React Native 開(kāi)發(fā)的 App 已經(jīng)在 Google Play 上架 Facebook 廣告管理工具,聽(tīng)說(shuō) Android 的 SDK 也馬上會(huì)到來(lái),React Native。
在A(yíng)ndroid開(kāi)發(fā)中,如果你不考慮架構(gòu)的話(huà),Activity類(lèi)往往會(huì)越來(lái)越大。這是因?yàn)?,在A(yíng)ndroid中,允許View和其它線(xiàn)程共存于A(yíng)ctivity內(nèi)。其實(shí)最大的問(wèn)題莫過(guò)于 在A(yíng)ctivity中同時(shí)存在業(yè)務(wù)邏輯和UI邏輯 。這會(huì)增加測(cè)試和維護(hù)的成本。
1、MVP(Model-View-Presenter)是MVC的改良模式。與MVP一樣,實(shí)現(xiàn)了視圖、模型、控制的解耦,重點(diǎn)是改變的通信方式。MVVM實(shí)現(xiàn)了數(shù)據(jù)與UI的雙重綁定,其中 DataBinding 是實(shí)現(xiàn)MVVM的關(guān)鍵工具。
2、MVC:包括視圖、控制器以及模型。視圖傳輸指令到控制器,控制器完成業(yè)務(wù)邏輯后要求模型改變狀態(tài),模型將新的數(shù)據(jù)發(fā)送給視圖,然后用戶(hù)得到反饋,這樣就形成了一個(gè)循環(huán)過(guò)程。
3、MVC、MVP、MVVM這些模式是為了解決開(kāi)發(fā)過(guò)程中的實(shí)際問(wèn)題而提出來(lái)的,目前作為主流的幾種架構(gòu)模式而被廣泛使用。
4、mvvm(model-view-viewmodel)框架的由來(lái)便是mvp(model-view-presenter)模式與wpf結(jié)合的應(yīng)用方式時(shí)發(fā)展演變過(guò)來(lái)的一種新型架構(gòu)框架。它立足于原有mvp框架并且把wpf的新特性糅合進(jìn)去,以應(yīng)對(duì)客戶(hù)日益復(fù)雜的需求變化。
5、一,MVC, MVP, MVVM誕生的需求?軟件中最核心的,最基本的東西是什么?是的,是數(shù)據(jù)。我們寫(xiě)的所有代碼,都是圍繞數(shù)據(jù)的。圍繞著數(shù)據(jù)的產(chǎn)生、修改等變化,出現(xiàn)了業(yè)務(wù)邏輯。圍繞著數(shù)據(jù)的顯示,出現(xiàn)了不同的界面技術(shù)。
網(wǎng)頁(yè)名稱(chēng):android框架mvp android框架結(jié)構(gòu)
標(biāo)題網(wǎng)址:http://aaarwkj.com/article19/didsegh.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供營(yíng)銷(xiāo)型網(wǎng)站建設(shè)、靜態(tài)網(wǎng)站、建站公司、關(guān)鍵詞優(yōu)化、服務(wù)器托管、
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀(guān)點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話(huà):028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)
營(yíng)銷(xiāo)型網(wǎng)站建設(shè)知識(shí)