iOS面试题:简述 MVC、MVP、MVVM 模式

这三种模式均为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中的数据。

建了个群,群号: 711315161,大家一起交流学习。

原文地址

你可能感兴趣的:(iOS面试题:简述 MVC、MVP、MVVM 模式)