函数响应式编程 清晰简洁、易读、易维护的代码,下面我们看下 RxSwift 的最佳搭档:MVVM
MVVM
原先常用的架构:MVC
-
Model:数据层。负责读写数据,保存 App 状态等
-
Controller:业务逻辑层。负责业务逻辑、事件响应、数据加工等工作
缺点:
- ViewController 既扮演了 View 的角色,又扮演了 ViewController 的角色
- 而 Model 在 VIewController 中又可以直接与 View 进行交互
- 当 App 交互复杂的时候,就会发现 ViewController 将变得十分臃肿,大量代码被添加到控制器中,使得控制器负担过重。
MVVM
优点:
- 可以对 ViewController 进行瘦身
- 实现逻辑视图的复用。比如一个 ViewModel 可以绑定到不同的 View 上,让多个 View 重用相同的视图逻辑。
- 而且使用 MVVM 可以大大降低代码的耦合性,方便进行单元测试以及维护,也方便多人协作开发(比如一个人负责逻辑实现,一个人负责 UI 实现)。
缺点:
- 相较于 MVC,使用 MVVM 会轻微的增加代码量,但是总体上减少了代码的复杂性。
- 还有就是有一定的学习成本(如何数据绑定等)。
作为一个开发者,有一个学习的氛围跟一个交流圈子特别重要,这是我的iOS交流圈: 不管你是小白还是大牛欢迎入驻!!
分享内容包括跳槽面试资源、逆向安防、算法、架构设计、多线程,网络进阶,还有底层、音视频、Flutter等等…
自己根据梳理网络来的的开发经验总结的学习方法,无偿分享给大家。更多资源,需要的话都可以自行来获取下载。
+裙: