RxSwift + MVVM:如何提供ViewModels

文章目录
  1. 1. 介绍
  2. 2. ViewModels

原文:RxSwift + MVVM: how to feed ViewModels

介绍

自从我们开始在BlaBlaCar的Model-View-ViewModel(MVVM)架构中使用RxSwift以来,已经快一年了。我们对结果感到兴奋。我们使用这种方法编写的代码更容易理解,维护,测试和扩展。但是,最初的几周并不是小菜一碟。我们必须在MVVM + RxSwift架构的某些方面进行迭代,以使事情变得正确。其中一个方式——给 ViewModels 提供 Inputs。

让我们通过两种不同方式给ViewModels 提供 Inputs(Rx Event)

但是首先,让我们简单谈一下 ViewModels

ViewModels

ViewModel的职责,你必须正确理解它(不止一个):

  • 它应该是可以插入到任何View上的。比如,不是先造一个View再去定义一个ViewModel。注意,是View拥有ViewModel。View知道ViewModel,而不是反过来。
  • 它是可测试的。最终,MVVM架构最大的好处就是让业务逻辑可测。
  • MVVM使用绑定机制更加牛逼,所以让使用 RxSwift 来更好地利用 ViewModel

to be continued…