以 MVVM 屬術(shù)語來說,就是那些將 Model 數(shù)據(jù)轉(zhuǎn)換為 View 可以呈現(xiàn)的東西的事情铭段,例如將一個NSDate轉(zhuǎn)換為一個格式化過的NSString或者一些數(shù)據(jù)的動態(tài)計算领追。這些都堆積在View Controller中湿诊,有時候自己看著都覺得挺不舒服的妖混。顯得代碼十分臃腫萍恕。
MVVM示意圖.png
在圖中的View Model的存在就是為了將這些邏輯放進(jìn)去而存在的境氢。
那么蟀拷,到底MVVM是什么呢?一個 MVC 的增強版产还,我們正式連接了視圖和控制器匹厘,并將表示邏輯從 Controller 移出放到一個新的對象里,即 View Model脐区。MVVM 聽起來很復(fù)雜愈诚,但它本質(zhì)上就是一個精心優(yōu)化的 MVC 架構(gòu)。
MVVM的好處在哪里呢牛隅?
跟你目前使用的MVC完全沒有沖突炕柔,可以完美的兼容。同時優(yōu)化你的結(jié)構(gòu)媒佣。
MVVM 增加你的應(yīng)用的可測試性匕累。
MVVM 配合一個綁定機制效果最好。
所以說默伍,MVVM基本上是屬于一個優(yōu)化加強版的MVC欢嘿。