iOS面试题:MVVM设计模式

组成部分如下图所示:

MVVM组成

在这个设计模式里,核心是ViewModel,它是一种特殊类型的model,代表了应用中UI的状态。它包含如下内容:

  • 每个UI控件的一些属性。例如,text field控件的当前文本,某个button是否是enable状态。
  • 视图可以执行的动作,例如按钮点击或者是手势。

将ViewModel想象为视图的模型,会比较容易理解。

MVVM模式中,三个组件的关系比MVC模式的要简单,有下面的严格规则:

  • 视图引用ViewModel,但反向不成立。
  • ViewModel引用Model,但反向不成立。

如果违背了上面两条规则,那么就是错误的MVVM实施行为。

这种模式的好处:

  • 轻量级的视图(控制器), 所有的UI逻辑都位于ViewModel中。
  • 易测试性。可以在没有视图的情况下,运行整个应用。

更多:iOS面试题合集

你可能感兴趣的:(iOS面试题:MVVM设计模式)