【问题标题】:How implement a cart in clean architecture?如何在干净的架构中实现购物车?
【发布时间】:2019-01-01 16:05:09
【问题描述】:

我的应用中有购物车,并将 productIdcount 存储在 Sqlite db 中(Wraps with Room)。

当从服务器获取productList 时,在Data 层将产品的count 注入到接收列表中,然后传递给其他层以显示在屏幕上(等RecyclerView

当用户增加产品的数量时,应该如何刷新视图?

  • 从无效的服务器获取所有productList
  • 更新表示层 (ViewHolder) 中的重复数据。
  • 或者什么?

您有什么建议或建议吗?

【问题讨论】:

  • 此功能通常由“缓存”负责,它维护有关您的环境的信息的流通性。缓存会更新计数并可能将更改列表发送给观察者。
  • 我不想缓存所有内容!并且只是 productList 从服务器接收和购物车信息从缓存(本地数据库)接收。你说我也缓存 productList 吗? @BobDalgleish
  • 缓存您需要的信息。如果你只需要一个计数,并且你可以只基于添加和删除来保持计数,那么它应该很容易。

标签: android rx-java2 clean-architecture android-livedata


【解决方案1】:

您可以通过使用android架构组件LiveData来解决这个问题,因为它具有生命周期意识,一旦用户将新产品添加到实时数据列表中,您就可以观察产品列表对象将通知您的 UI 并更新您的适配器,

如果您使用 firebase 实时数据库 作为您的应用后端,您可以查看详细信息 tutorial

【讨论】:

  • 感谢您的帮助。我在演示文稿中使用 LiveData,在数据层中使用 Rx。我有语义问题,而不是使用工具:)
猜你喜欢
  • 2018-10-09
  • 1970-01-01
  • 2020-04-26
  • 1970-01-01
  • 2011-12-19
  • 2020-10-19
  • 2010-10-30
  • 1970-01-01
  • 2021-04-13
相关资源
最近更新 更多