Pull to refresh

Comments 9

UFO landed and left these words here

Привет, спасибо за мнение!
А почему подобные запросы должны быть именно в репозитория?
Я понимаю, что можно сразу ограничить объем рекордов полученных из БД, реализовав запросы в репозитории, что сразу позволяет получить их из разных модулей приложения, но в целом, на мой взгляд, такие запросы можно инкапсулировать в условную ViewModel в контексте MVVM, ViewModel получает сырые данные из репозитория, а затем подготавливает в нужный вид для UI слоя, отбирая их по нужному предикату, так и ограничивается кол-во модулей, которые будут перформить запросы.

UFO landed and left these words here

Резонно, и тогда мы возвращаемся к поиску по предикату и пробрасыванию его сквозь репозиторий и сервис. А почему это избыточно? Может быть у Вас есть идеи для более оптимальной реализации?

UFO landed and left these words here

Как вариант можно рассмотреть добавление запросов в репозиторий и заменить пробрасывание предиката на API посвежее - Query + сопутствующие изменения в StorageService в виде возвращаемого типа метода fetch

То есть в методе будет что-то вроде такого
let cache = storage.fetch(by: AirportObject.self).where { $0.id == "" }

UFO landed and left these words here
UFO landed and left these words here
Sign up to leave a comment.

Articles