Myapp использует удаленный API для обновления своих данных, и он должен работать в автономном режиме, поэтому все данные должны быть загружены перед отображением основного раздела приложения.Должны ли мои объекты модели отвечать за загрузку собственных ресурсов?
API возвращает одну большую структуру JSON, представляющую содержимое приложения. JSON преобразуется во многие словари и массивы, затем моделируются экземпляры классов и подкрепляются этими словарями и массивами.
Моя проблема заключается в том, что некоторые из этих словарей и массивов содержат URL-адреса для изображений, которые также необходимо загрузить. Должна ли ответственность каждого объекта модели загружать собственные изображения? Или я должен иметь какой-то класс контроллера, который справляется с этим?
Кроме того, что было бы хорошим подходом к этому? Например, как узнать, когда все объекты модели завершили загрузку своих ресурсов?
Все ресурсы должны быть загружены заранее, так как клиент хотел бы использовать приложение без подключения к Интернету.
это зависит от многих факторов. общий ответ невозможен. Вы хотите/нужно предварительно кэшировать, или это невозможно? Насколько велико каждый образ? у вас есть другие одновременные и, возможно, более важные запросы одновременно? ... – vikingosegundo
Не сказать, что это не по теме, но это своего рода [«доска» - в отличие от «клавиатуры»] (http://meta.stackexchange.com/questions/82988/) - вопрос, который может быть более подходящим для [Programmers.SE]. Просто вариант на будущее. –
Нет. Объекты модели (которые на самом деле называются [объектами домена] (http://c2.com/cgi/wiki?DomainObject) не должны нести ответственность за хранение самих себя. Это нарушит [SRP] (http: // ru. wikipedia.org/wiki/Single_responsibility_principle) –