【发布时间】:2015-12-24 02:02:19
【问题描述】:
我正在尝试基于 Android 中的Uncle Bob's Clean Architecture 进行设计。
问题:
我想解决的是如何使在一个存储库中生成的更改反映在应用程序的其他部分,例如其他存储库或视图。
示例
我为此示例设计了一个非常简化的示例。请注意,边界接口已被移除以保持图表较小。
想象一个显示视频列表(带有标题、缩略图和点赞次数)的应用,点击视频可以查看详细信息(您可以在此处点赞/不点赞视频)。
此外,该应用还有一个统计系统,可以统计用户喜欢或不喜欢的视频数量。
这个应用程序的主要类可能是:
目标
现在假设您检查了自己的统计数据,然后浏览视频列表,打开其中的详细信息,然后单击“赞”按钮。
like 发送到服务器后,应用程序的几个元素应注意更改:
- 当然,详细视图应该随着更改而更新(这可以通过回调来完成,所以没问题)
- 视频列表应更新给定视频的“喜欢”计数
-
StatsRepository可能希望在对新视频进行投票后更新/使缓存无效 - 如果统计信息列表可见(想象一个分屏),它还应该显示更新的统计信息(或至少接收事件以重新查询数据)
问题
解决这种通信的常见模式是什么? 请尽可能完整地回答您的问题,指定事件的生成位置、它们如何通过应用程序传播等。
注意:完成答案将获得奖励
【问题讨论】:
标签: java android architecture coding-style