更新多层应用程序中的Realm对象

时间:2017-09-28 19:24:44

标签: android architecture realm

在多层项目中解决领域对象操作的正确方法是什么?

让我们说管理领域对象的PersonStore, 编辑PersonEditorView的{​​{1}},最后是a 连接字符串的PersonViewModel。过于简化的模型。

在我们想要编辑对象时,我的思维方式就是这样。

  1. 控制器使用要编辑的对象
  2. 实例化ViewModel
  3. 将ViewModel传递给视图
  4. 视图管理来自用户的输入并改变ViewModel,将业务应用于更改(例如约束,年龄介于[0,200]之间等)。
  5. 完成后告诉控制器持久保存对象
  6. 控制器将ViewModel字段复制到领域对象
  7. 并调用PersonController更新对象。
  8. 每个人都很开心:)
  9. 但是在一个似乎无法实现的领域。在步骤 5 中,无法更新对象PersonStore。因此,应使用outside a realm transaction对象在控制器内执行viewmodel-to-model转换。 这使控制器直接使用领域,这是Realm.Transaction应该做的事情。

    这是怎么做的?我对如何在领域中更新对象不感兴趣,但是如何将其合并到具有多个层的应用程序中。

    我在Android上工作但这没什么区别。

0 个答案:

没有答案