想要了解MVVM開發(fā)模式严望,首先要知道MVC的模式
這是一個典型的MVC設(shè)置,Model 呈現(xiàn)數(shù)據(jù)峻黍,View 呈現(xiàn)用戶界面拨匆,而 View Controller 調(diào)節(jié)它兩者之間的交互。在典型的 MVC 應(yīng)用里惭每,許多邏輯被放在 View Controller 里。它們中的一些確實屬于 View Controller宏赘,但更多的是所謂的“表示邏輯(presentation logic)”黎侈,以 MVVM 屬術(shù)語來說,就是那些將 Model 數(shù)據(jù)轉(zhuǎn)換為 View 可以呈現(xiàn)的東西的事情箕母,例如將一個NSDate轉(zhuǎn)換為一個格式化過的NSString或者一些數(shù)據(jù)的動態(tài)計算俱济。這些都堆積在View Controller中,有時候自己看著都覺得挺不舒服的聂喇。顯得代碼十分臃腫蔚携。
在圖中的View Model的存在就是為了將這些邏輯放進去而存在的!
那么誊辉,到底MVVM是什么呢?一個 MVC 的增強版堕澄,我們正式連接了視圖和控制器,并將表示邏輯從 Controller 移出放到一個新的對象里蛙紫,即 View Model。MVVM 聽起來很復(fù)雜僵驰,但它本質(zhì)上就是一個精心優(yōu)化的 MVC 架構(gòu)唁毒。
MVVM的好處在哪里呢?
1枉证、跟你目前使用的MVC完全沒有沖突移必,可以完美的兼容。同時優(yōu)化你的結(jié)構(gòu)秒赤。
2憎瘸、MVVM 增加你的應(yīng)用的可測試性。
3幌甘、MVVM 配合一個綁定機制效果最好。
所以說酥诽,MVVM基本上是屬于一個優(yōu)化加強版的MVC皱埠。
目前還在學(xué)習(xí)中,有新的地方隨時更新训枢,圖片來自網(wǎng)絡(luò)忘巧,侵刪。