android mvvm流程图,MVVM框架模式详解
MVVM 定義
MVVM 是 Model-View-ViewModel 的縮寫,它是一種基于前端開(kāi)發(fā)的架構(gòu)模式,其核心是提供對(duì) View 和 ViewModel 的雙向數(shù)據(jù)綁定,這使得 ViewModel 的狀態(tài)改變可以自動(dòng)傳遞給 View,即所謂的數(shù)據(jù)雙向綁定。
在 MVVM 的框架下視圖和模型是不能直接通信的。它們通過(guò) ViewModel 來(lái)通信,ViewModel 通常要實(shí)現(xiàn)一個(gè) observer 觀察者,當(dāng)數(shù)據(jù)發(fā)生變化,ViewModel 能夠監(jiān)聽(tīng)到數(shù)據(jù)的這種變化,然后通知到對(duì)應(yīng)的視圖做自動(dòng)更新,而當(dāng)用戶操作視圖,ViewModel 也能監(jiān)聽(tīng)到視圖的變化,然后通知數(shù)據(jù)做改動(dòng),這實(shí)際上就實(shí)現(xiàn)了數(shù)據(jù)的雙向綁定。并且 MVVM 中的 View 和 ViewModel 可以互相通信。
#MVVM 流程圖:
#MVVM 的特點(diǎn)
#1. 低耦合性。
View 可以獨(dú)立于 Model 變化和修改,一個(gè) ViewModel 可以綁定到不同的 View 上,當(dāng) View 變化的時(shí)候 Model 不可以不變,當(dāng) Model 變化的時(shí)候 View 也可以不變。
#2. 可重用性。
把一些視圖邏輯放在一個(gè) ViewModel 里面,讓很多 View 重用這段視圖邏輯,也就是組件化思想。
#3. 獨(dú)立開(kāi)發(fā)。
開(kāi)發(fā)人員可以專注于業(yè)務(wù)邏輯和數(shù)據(jù)的開(kāi)發(fā)(ViewModel),設(shè)計(jì)人員可以專注于頁(yè)面設(shè)計(jì)。
#MVVM 框架模式的好處雙向綁定技術(shù),這是 MVVM 思想主打的思想,也是它的最優(yōu)點(diǎn)
View 的功能進(jìn)一步的強(qiáng)化,具有控制的部分功能,若想無(wú)限增強(qiáng)它的功能,甚至控制器的全部功幾乎都可以遷移到各個(gè) View 上(不過(guò)這樣不可取,那樣 View 干了不屬于它職責(zé)范圍的事情)。View 可以像控制器一樣具有自己的 View-Model.
由于控制器的功能大都移動(dòng)到 View 上處理,大大的對(duì)控制器進(jìn)行了瘦身。
可以對(duì) View 或 ViewController 的數(shù)據(jù)處理部分抽象出來(lái)一個(gè)函數(shù)處理 model。
#MVVM 框架模式的不足數(shù)據(jù)綁定使得 Bug 很難被調(diào)試。界面出現(xiàn)了異常,有可能是 View 的代碼有問(wèn)題,也可能是 Model。
Model 長(zhǎng)期持有,不釋放內(nèi)存,就造成了花費(fèi)更多的內(nèi)存
數(shù)據(jù)雙向綁定不利于代碼重用。客戶端開(kāi)發(fā)最常用的重用是 View,但是數(shù)據(jù)雙向綁定技術(shù),讓你在一個(gè) View 都綁定了一個(gè) model,不同模塊的 model 都不同。那就不能簡(jiǎn)單重用 View 了。
創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎(jiǎng)勵(lì)來(lái)咯,堅(jiān)持創(chuàng)作打卡瓜分現(xiàn)金大獎(jiǎng)總結(jié)
以上是生活随笔為你收集整理的android mvvm流程图,MVVM框架模式详解的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 鸿蒙蕴含的哲理,经典别致的人生语录,蕴含
- 下一篇: 车头车尾傻傻分不清!雪铁龙版“宏光MIN