第三方哭iOS面试资料搜集iOS面试

iOS面试题:MVVM和MVC的区别

2019-07-04  本文已影响48人  iOS猿_员

MVVM和MVC的区别

1. MVC
MVC

MVC的弊端

你可能试着把它放在Model对象里,但是也会很棘手,因为网络调用应该使用异步,这样如果一个网络请求比持有它的model生命周期更长,事情将变的复杂。显然View里面做网络请求那就更格格不入了,因此只剩下Controller了。若这样,这又加剧了Massive View Controller的问题。若不这样,何处才是网络逻辑的家呢?

由于View Controller混合了视图处理逻辑和业务逻辑,分离这些成分的单元测试成了一个艰巨的任务。

2. MVVM

一种可以很好地解决Massive View Controller问题的办法就是将 Controller 中的展示逻辑抽取出来,放置到一个专门的地方,而这个地方就是 viewModel 。MVVM衍生于MVC,是对 MVC 的一种演进,它促进了 UI 代码与业务逻辑的分离。它正式规范了视图和控制器紧耦合的性质,并引入新的组件。他们之间的结构关系如下:

MVVM
2.1 MVVM 的基本概念
2.2 MVVM 的注意事项
2.3 MVVM 的优势
2.4 MVVM 的弊端
3. 总结

更多:iOS面试题合集

上一篇下一篇

猜你喜欢

热点阅读