ViewModel应该负责更新/发布事件吗?

时间:2019-01-22 17:54:22

标签: ios mvvm viewmodel

我正在学习MVVM-Coordinator模式,这是一个问号。 ViewModel负责获取和格式化数据以供View读取并仅显示给用户。协调器控制导航。哪个部分应该负责发布/更新事件,例如执行登录/注册api方法,执行注释/类似请求?这也是ViewModel的责任还是协调员的责任?

本文说,协调员应负责导航和模型更改:http://khanlou.com/2015/10/coordinators-redux/

但是我发现了ViewModel也可以进行突变的示例。

1 个答案:

答案 0 :(得分:0)

好吧,我想这有点主观,但是我肯定会说View Model。协调器用于导航,模型只是对象。 如您所知,视图模型是业务逻辑所属的地方。

就我而言,我有一个专用的抽象层(服务),在其中实现了每个网络服务和请求。然后,我的视图模型只请求数据并发送到ViewController。之所以这样做,是因为在一个网络密集型应用程序上,您的视图模型将只包含太多代码,并且还因为仅想象每个视图控制器都具有一个视图模型,然后您需要在两个不同的场景下发出相同的请求。您将为两个不同的视图控制器实例化同一ViewModel两次吗?

一切都比较主观,但是根据我的经验,这是最好的方法。

希望有帮助。