【发布时间】:2013-11-25 20:13:10
【问题描述】:
Myapp 使用远程 API 来更新其数据,并且它必须离线工作,因此在显示应用程序的主要部分之前必须下载所有数据。
API 返回一个代表应用内容的大型 JSON 结构。 JSON 被转换为许多字典和数组,然后模型类被实例化并由这些字典和数组支持。
我的问题是其中一些字典和数组包含还必须下载的图像的 URL。每个模型对象是否应该负责下载自己的图像?或者我应该有某种控制器类来处理这个?
另外,处理这个问题的好方法是什么?例如,我如何知道所有模型对象何时完成下载资源?
所有资源必须预先上传,因为客户希望能够在没有互联网连接的情况下使用该应用程序。
【问题讨论】:
-
这取决于许多因素。不可能有一个普遍的答案。您是否想要/需要预缓存,或者这不可能?每个图像有多大?您是否同时有其他并发且可能更重要的请求?...
-
并不是说这是题外话,但这是"whiteboard" -- as opposed to "keyboard" 的那种问题——可能更适合Software Engineering 的问题。只是未来的一种选择。
-
没有。模型对象(实际上称为 domain objects 不应该负责存储自己。这将违反 SRP。