ios面试常用

1.mvc和mvvm的区别

mvc:是model -view-controller

model持有数据 

view负责将数据展示给用户并接收用户的事件

controller负责将model和view关联起来,当model发生变化时controller可以通过Nsnotification或者KVO来进行监听然后通知view进行相应的改变,view发生变化时controller可以通过delegate或者block来进行监听然后相应的改变model

mvvm:是model-view-viewmodel

model持有数据(也可以添加一些业务逻辑)

viewmodel是把model和view进行了绑定,当model变化时view会跟着变化,当view接收到事件时model也会跟着变化

controller则负责将viewmodel展示出来

mvc的优点:model和view分离,可扩展性强有利于重用

mvc的缺点:controller过于庞大不好维护

mvvm的优点:对controller进行了瘦身,便于代码移植(一个viewmodel可以绑定到不同的view/controller上)、兼容mvc

mvvm的缺点:文件数量会增加,数据绑定后bug更难调试

上一篇:05_MVVM模型


下一篇:VUE学习笔记--MVVM 风格架构