前端开发那些事儿iOS开发面试合集

最新iOS面试题:MVVM和MVC的区别?(①系列更新)

2021-05-20  本文已影响0人  iOS最新面试题收录

MVVM和MVC的区别

1. MVC
image

MVC的弊端

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

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

2. MVVM

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

image
2.1 MVVM 的基本概念
2.2 MVVM 的注意事项
2.3 MVVM 的优势
2.4 MVVM 的弊端
3. 总结
精选全网 · iOS面试题答案PDF文集
  • 最新 初级iOS 面试题
  • 最新 中级iOS 面试题
  • 最新 高级iOS 面试题
  • 《BAT面试资料全集》
  • 《BAT大厂常问iOS面试题》
  • 《2021年面试真题》
  • 《iOS中级到高级面试题完整版》
  • 字节跳动,京东,小米,腾讯、头条、阿里、美团等公司21年的面试真题
image

资料下载地址:

获取地址:https://docs.qq.com/doc/DVU5LY1Bsb3dSZ3Nn

上一篇下一篇

猜你喜欢

热点阅读