Как работало?



Первую версию приложения сделала команда на аутсорсе. Уже тогда понимали, что проект будет жить долго, стран будет много, фич навалом. Тогда ведущими программисту казалось важным заложить поддержку работы в офлайне. Или, хотя бы, сделать восстановление между сессиями работы приложения, чтобы меню появлялось сразу на запуске, без скачивания. Архитектурно это заложили с первой строчки.



Так как домены связаны, а восстанавливать хочется любой экран, то складывать в базу надо вообще все, чтобы было откуда брать. В итоге, поток данных стал таким:

- получили из сети.

⁃ положили в базу, разметили связи между таблицами.

⁃ прочитали из базы, связанные объекты подтянулись сами.

⁃ переложили данные во вью модели, а дальше уже MVVM.



В следующий раз расскажу где нам это мешало, и в какой момент стало прям больно.