iOS面试题:简述 MVC、MVP、MVVM 模式
2021-12-08 本文已影响0人
我王某不需要昵称
这三种模式均为MV* 模式,M为模型层,V为视图层,都是希望能更好的对模型、视图与逻辑层的解耦。
MVC模型中,C为(controller)。主要处理逻辑为:View触发事件,controller响应并处理逻辑,调用Model,Model处理完成后将数据发送给View,View更新。
MVP模型中,P为Presenter,并以Presenter为核心,负责从model获取数据,并填充到View中。该模型使得Model和View不再有联系,且View被称为“被动视图”,暴露出setter接口。
MVVM模型中,VM为ViewModel,同样是以VM为核心,但是不同于MVP,MVVM采用了数据双向绑定的方案,替代了繁琐复杂的DOM操作。该模型中,View与VM保持同步,View绑定到VM的属性上,如果VM数据发生变化,通过数据绑定的方式,View会自动更新视图;VM同样也暴露出Model中的数据。
转载:https://www.jianshu.com/p/d28da300edb6