169 похожих чатов

Привет, вот такая задачка. есть класс, отвечающий за поставку данных

из хранилища, и обычный адаптер для списка. нужно в списке показывать данные, отобранные по определенным критериям. и вот тут возникает непонятка. с одной стороны варианты отбора могут быть разными, и вешать это на поставщика данных не кажется разумным. с другой стороны, иначе адаптеру придется знать и уметь работать со специфическими методами составления запросов, зависящими и от модели данных и от типа хранилища (например room, realm, retrofit и т.д.). делать у поставщика данных отдельный билдер запросов, это городить монстра, поддерживающего сложный огород вложенных условий, для пары-тройки адаптеров тоже не хочется. может есть какие-то готовые шаблоны, или советы?:)

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

проблема только, что пока хрен знает, сколько таких вариантов может быть, и любое незначительное отклонение потребует нового метода. та и имена замучаешься методам давать:)

5 ответов

22 просмотра

Для такого же обычно используют Repositoty? Он получает данные и уже потом к нему можно пристроить класс, например Interactor, который будет реализовывать преобразование данных в нужный вид и связать это все интерфейсами

UseCase

хелпер звучит абстрактно и то что будет шариться между всеми. не то, чтобы ты не можешь шарить интерактора или юзкейса, но вообще обычно тип на 1 юзкейс пишешь юзкейс) на другой другой

не надо делать God обджектов из них. маленькие юзкейсы самое то. само слово за себя говорит - юз кейс.

Это задача в том числе и поставщика данных. Если у тебя бд, то будешь использовать механизмы бд для фильтрации и т.д

Похожие вопросы

Обсуждают сегодня

Всем привет! Имеется функция: function IsValidChar(ch: UTF8Char): Boolean; var i: Integer; ValidChars: AnsiString; begin ValidChars := 'abcdefghijklmnopqrstuvwxyzABCDE...
Евгений
44
И никого не интересует какие пакеты кто использует. ((% Заходишь на сайт симфони и видишь поддержку Украины - по законам РФ это ж экстремизм. Только никто не отказывается от с...
Am Ambrion
11
лучше скажите, причём тут паскаль?
Alexey Kulakov
36
Чтобы перехватить все нажимания буков на форме, надо хук ставить? Пробовал на форме ОнКейДаун, оно ловит клаву если фокус не на компоненте с вводом текста
Serjone
15
Но, может, есть уже проверенная? Наши требования такие: 1. Сообщения должны приходить из Инста в CRM оду 2. Должна быть возможность подключить несколько экаунтов Инстаграм. Р...
Alexander Sharoiko MSE / Александр Шаройко
7
Народ! Впервые клиенту пришло письмо от РКН, у вас, дескать, есть яндекс метрика, а нигде не написано, что вы ее юзаете. Никто не сталкивался?
Sasha Beep
14
Всем привет! вывожу на общей стр дочерние ресурсыв каждом ресурсе галерея, и первая фотка должна выводиться на общей [!DocLister? &prepare=photo !]
Alekso
12
Я правильно понимаю что нет способов получить список ожидающих заявок на вступление в группу с помощью бота из mtproto?
Шамиль Прилов
7
А можно вопрос? Мне сегодня сказали что у меня функция (которая просто заполняет массив значениями) не правильная void Full(double * arr, int n) { for (int i = 0; i < n; i...
† C E †
7
Добрый вечер. Хочу чтобы у меня в классе поле было функцией, которая возвращает строку. Делаю так: interface ... TGetOutPath = function : String of object; ... protec...
Kirill Filippenok
12
Карта сайта