以 MVVM 屬術語來說,就是那些將 Model 數據轉換為 View 可以呈現的東西的事情,例如將一個NSDate轉換為一個格式化過的NSString或者一些數據的動態計算。這些都堆積在View Controller中,有時候自己看著都覺得挺不舒服的。顯得代碼十分臃腫。
MVVM示意圖.png
在圖中的View Model的存在就是為了將這些邏輯放進去而存在的。
那么,到底MVVM是什么呢?一個 MVC 的增強版,我們正式連接了視圖和控制器,并將表示邏輯從 Controller 移出放到一個新的對象里,即 View Model。MVVM 聽起來很復雜,但它本質上就是一個精心優化的 MVC 架構。
MVVM的好處在哪里呢?
跟你目前使用的MVC完全沒有沖突,可以完美的兼容。同時優化你的結構。
MVVM 增加你的應用的可測試性。
MVVM 配合一個綁定機制效果最好。
所以說,MVVM基本上是屬于一個優化加強版的MVC。