Всем привет, подскажите как лучше сделать
Пишу на VIPERе
Presenter говорит Iteratory дай мне список новостей
Как мне удобно сделать:
1) Iterator через ServerManager получает массив моделей типо NewServerModel (поля: картинка, текст)
2) Iterator через CoreDataManager сохраняет/обновляет новые данные
3) Iterator через класса NewsMapper кидает в NewsMapper NewServerModel и получает на выходе NewsUIModel (в которой я считаю какой должна быть высота ячеек и другую логику, поля типо: картинка, текст, выстора, ширина и другая UI модель логика)
4) Если нету инета, Iterator берет данные с БД и делает аналогично 3 пункту только кидает NewsCoreDataModel
5) Ну и наконец Iterator отдает массив UIModels в Presenter
В итоге Presenter получил данные в 1 типе (NewsUIModel) и ему пофиг на логику Iteratora
Но насколько я знаю подготовка отображения данных лежит именно на Presentare, поэтому он должен делать 3 пункт! Но тогда получается что Iterator может кинуть данные и вида CoreDataModel и вида ServerModel и тут получается каша
Думал может сохранять ServerModel в БД а потом брать с БД данные, но ведь это тупо что я тока сохранил данные, а теперь их достал
Посоветуйте как лучше такое делать