【问题标题】:Should ViewModel be responsible for update/post events?ViewModel 是否应该负责更新/发布事件?
【发布时间】:2019-06-16 06:09:24
【问题描述】:

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

这篇文章说coordinator应该负责导航和模型变异:http://khanlou.com/2015/10/coordinators-redux/

但我发现 ViewModel 也进行突变的示例。

【问题讨论】:

    标签: ios mvvm viewmodel


    【解决方案1】:

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

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

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

    希望对您有所帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-02-18
      • 2011-04-13
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多