一句话回答
MVVM 就是 MVP 模式加了个双向绑定机制(KVO 或者 RAC 实现)。使得它更容易进行单元测试,同时减少代码量
MVP 模式
MVP 模式指的是View 层和 Model 层完全分离,View 层和 Presenter 层通过协议来传递事件。
MVP 就是为了解决 MVC 的 C 太臃肿的问题,用了协议
MVP 比 MVC 更容易进行单元测试
双向绑定机制
双向绑定的意义:让 ViewModel 的数据和 View 的数据双向绑定起来,数据发生变化时,ViewModel 自动更新视图