什麼是MVVM
能夠參見: Model-View-ViewModel for iOS MVVM 介紹ios
見解
和燕大俠討論以後個人見解:windows
- MVVM仍是屬於MVC框架,可是對VC部分進行了進一步的抽象造成了ViewModel部分。
- 並非全部狀況View和VC部分都是那麼緊的耦合,變得不可單獨複用。也有相同View使用不一樣VC、不一樣View使用相同VC的狀況。
- Massive View Controller的狀況實際中確實大量存在。
- 文中提到:iOS上沒法使用CoCoa綁定。若是一個很簡單的事情要再引入一個新的機制或方法,如KVO、ReactiveCocoa是否這個代價是值得的?爲什麼蘋果在OS X上面實現了CoCoa綁定,可是沒有在iOS上作呢?難道蘋果沒有做者聰明?背後應該有其緣由吧?
- 其實程序都是要看具體狀況的。沒有一成不變的定法能夠適用於一切。以前看到一篇說什麼時候重構:第三次出現重複的信息時;全部的程序都是在作trade off。
作法
- iOS開發我仍是會用MVC,但應當借鑑MVVM的思想,VC中要進一步模塊化下降耦合,儘可能避免Massive View Controller的問題產生。
- 如果windows移動開發固然會投入MVVM的懷抱了。