открытии приложения, если пользователь авторизуется, то получаем его id и кладем в sharedpreferences. При запуске приложения я беру этот id из sharedpreferences, если пользователь авторизован, и собираю его необходимые поля модели, создавая при этом объект класса User. Так вот, как мне сделать так, чтобы объект модели User был виден в любом файле приложения? Может создать какой-нибудь файл, где мы инициализируем объект User и импортируем его в необходимый нам файл?
гугли паттерн синглтон
похоже что ты подошел к такому понятию как "архитектура". Я бы на твоем месте почитал хоть что-то. ходовой и несложный инструмент - например Bloc - там и инструмент + что-то типа архитектуры в примерах идет. рекомендую хотябы это
Я уже применял BLoC
там это называется либо user_bloc (более высокий уровень), либо - если проще user_repository. В твоем случает этот например репозиторий будет глобальным для всего приложения, и к нему везде можно получить доступ - красиво.
То есть мне в каждом файле придется оборачивать в bloc_builder()?
немного не так. ВОт например у тебя есть экран корзина, и на экране например также выводися имя пользователя. Тогда для этого экрана будет свой кубит cart_cubit, а уже в этот кубит ДА нужно передать (например в конструкторе) user_cubit. На следующем экране - тоже можно в кубит передать репозиторий юзера. КУбит опирается на провайдер, и для него не нужен синглтон.
Создал инхеритед виджет в него положил юзер модель
репозиторий - это хранилище, в кубите он хранит данные, а также изменят их (получить юзера/обновить/сохранить/отредактировать)
у кубита нет стейта и он решил хранить все в репозиториях?)
не понял смысла реплики
Речь была про репозитори паттерн или просто какой то класс который хранит какую то дату?
речь про Bloc и архитектурные подходы, которые предлагают разработчики инструмента. Там специфическое определение репозитория
Обсуждают сегодня