【问题标题】:The presenter the model and multiple data sources演示者模型和多个数据源
【发布时间】:2016-11-15 09:11:00
【问题描述】:

在 android 中实现 MVP 时,Presenter 负责数据。从我在网上找到的示例中,Presenter 通过依赖注入在数据源中传递以用于获取数据。
我的问题是我们如何处理数据来自多个数据源的情况?我们应该将多个数据源传递给演示者还是为每个数据调用创建一个数据源?

【问题讨论】:

  • 是的,您必须为每个数据调用创建一个数据源
  • @jiteshmohite:但是对于 X 调用,我需要 X 数据源,并且对于我添加的每个新数据源,我都需要修改所有内容?
  • 你能分享你提到的链接或例子吗
  • @jiteshmohite:任何谷歌示例,例如glomadrian.github.io/blog/multiple-data-sources-and-caching

标签: java android oop design-patterns mvp


【解决方案1】:

演示者不对数据负责!模型负责数据。这个想法是让模型类连接到各种数据源。所以,在实践中,这看起来像这样:

模型包含一些维基页面的数据 Presenter 具有用于通知更改的视图的 callabck 方法 View 显示presenter指定的数据

用例:更新一些内容

用户点击“保存”-> 查看

  1. 通知 Presenter 用户点击了“保存”

演讲者

  1. 从视图中读取 wiki 页面的内容
  2. 调用模型的更新方法
  3. 告诉视图显示一些加载微调器等

模型

  1. 更新本地缓存或存储(供离线使用)
  2. 异步设置服务器调用以存储更新的数据
  3. 服务器调用完成后会通知演示者数据集已更改并已完成保存

演讲者

  1. 从模型中检索数据
  2. 更新视图(通过将模型的数据传递给视图)
  3. 告诉视图停止加载微调器。

如您所见,模型负责与各种数据源进行通信,而演示者则负责协调用户操作和模型更改。

另见http://www.tinmegali.com/en/model-view-presenter-android-part-1/

【讨论】:

  • 那么模型是多个数据源的组合吗?所以我们有 1 个模型来处理各种类型的数据类型?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-04-18
  • 1970-01-01
  • 1970-01-01
  • 2020-07-04
  • 2010-10-05
  • 2015-07-23
相关资源
最近更新 更多