什么是MVVM
可以参见: Model-View-ViewModel for iOS MVVM 介绍
看法
和燕大侠讨论之后我的看法:
- 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的怀抱了。