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

Можно ли репозиторий сделать синглтоном и хранить в нем последние

загруженные данные?

3 ответов

16 просмотров

Нет нельзя. Точнее физически можно, но не стоит. Стоит немного подробнее раскрыть что такое синглтон, ведь это класс, который сам гарантирует, что будет создан только Один объект данного класса. Это неправильно и неправославно. Что мы можем сделать с этим ? Переложить ответственность на другой класс. Но как это сделать чтобы это было красиво ? Нужно использовать что-то такое, что используется во флаттере. Например прикольно сделать репозиторий похожим на MediaQuery или на Theme. То есть у него должен метод of, который нам предоставит доступ к нашему репозиторию, используя контекст. Значит нужно заюзать inheritedWidget (чтобы не писать код руками в vscode можно использовать расширение flutter snippets ) Но куда положить ? Конечно в самый корень абстрактного(воображаемого) дерева виджетов. Но тут есть нюанс, ведь репозитории могут зависеть от других репозиториев или каких-то других сервисов. Например NewsRepository требует AuthRepository. Тогда стоит немного подумать и разместить NewsRepository ниже чем AuthRepository.

Daniil Koliasnikov
Нет нельзя. Точнее физически можно, но не стоит. С...

Но и дальше возникает нюанс. Ведь может такая ситуация, когда нужно превентивно защититься от создания NewsRepository, до тех пор, пока пользователь не станет авторизованным (например не грузить репозиторий новостей до тех пор пока мы не уверены, что у пользователя есть подписка на определенный категории новостей) . Тогда стоит поместить NewsRepository ниже BlocBuilder, который возвращает разные экрана в зависимости от состояния AuthBloc.

Daniil Koliasnikov
Но и дальше возникает нюанс. Ведь может такая ситу...

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

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

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

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта