MVI + MVVM:谁应该存储输入数据?

时间:2018-04-15 21:43:26

标签: android mvvm

我试图实现一个简单的屏幕,其想法如下:

  1. 它从另一个屏幕收到Item的列表。每个项目仅包含id;
  2. 它会在ListView;
  3. 中显示这些项目
  4. ListView中的每个项目都由LsitViewItem类表示,它将可选的name属性添加到id的{​​{1}}属性中;
  5. 因此每个单元格显示Item,此外它还会显示一个输入字段,允许用户输入id;
  6. 屏幕上还有一个按钮。当用户按下此按钮时,所有name的{​​{1}}和Item和(如果用户输入任何内容)id都会被发送到后端。
  7. 我想通过MVVM架构实现此屏幕,并结合MVI概念。我将从MVI概念name中调用Model,以便与MVVM中的State进行区分。有了这个概念,我需要一个单一的数据源。我还需要传播回" smth"所有用户输入" name"字段。

    看起来我的模型是后端。换句话说,它是一个Retrofit服务实现或围绕它的一些包装类。

    通过这种配置,我不了解以下内容:

    1. 谁应该从上一个屏幕中创建初始Model列表? ItemViewModel
    2. 如果Model那么我是否需要将所有Model的更改传播回模型(根据MVI概念)?如果是,那么name s(表示层)和ListViewItem s(模型层)之间会有什么区别?
    3. 我对Item的解释是正确的还是我可以省略它?我可以在没有Model的情况下拥有MVVM吗?所以,我的所有Model都存储在Item中,当用户按下按钮时,他们只是通过某个类发送到后端,而这个类根本不属于MVVM架构?
    4. 其他想法/建议?

0 个答案:

没有答案