Size: a a a

Flutter Developers — русскоговорящее сообщество

2021 February 23

EA

Eugene Alitz in Flutter Developers — русскоговорящее сообщество
🅵🅾️🆇
Но умоляю, не говори, что BuildContext это такое DI, тут и так хватает таких "гениев гетикса"
Некрасиво. Мы не утверждали что context это di. По крайней мере я лишь писал, что неудобно его везде пропихивать
источник

EA

Eugene Alitz in Flutter Developers — русскоговорящее сообщество
И помоему не стоит смешивать все в кучу. Архитектура флаттера и архитектура твоего приложения это разные вещи.
источник

EA

Eugene Alitz in Flutter Developers — русскоговорящее сообщество
Архитектуру флаттера важно понимать, чтобы иметь возможность использовать фреймворк по максимуму
источник

EA

Eugene Alitz in Flutter Developers — русскоговорящее сообщество
Архитектура твоего приложения это всего лишь способ писать "чистые", "структурированные" приложения, которые в идеале легко поддерживать и расширять
источник

EA

Eugene Alitz in Flutter Developers — русскоговорящее сообщество
И именно по этому сам гетикс никаким образом не мешает тебе писать "чисто" и "правильно"
источник

EA

Eugene Alitz in Flutter Developers — русскоговорящее сообщество
И вообще, любой программист рано или поздно приходит к тому, что нет универсально плохого или хорошего решения или паттерна. Каждый выбирает себе инструмент, который позволяет ему эффективно делать свою работу
источник

t

tdesc in Flutter Developers — русскоговорящее сообщество
Eugene Alitz
Архитектура твоего приложения это всего лишь способ писать "чистые", "структурированные" приложения, которые в идеале легко поддерживать и расширять
и как получилось на архитектуре с гет сделать такое приложение?
чтобы не в идеале легко расширять, а это как требование к архитектуре.
чтобы тестировалось в разных уровнях от отдельно виджетов до отдельных бизнес сценариев.
чтобы параллельно могло работать много команд над кодом.
источник

EA

Eugene Alitz in Flutter Developers — русскоговорящее сообщество
tdesc
и как получилось на архитектуре с гет сделать такое приложение?
чтобы не в идеале легко расширять, а это как требование к архитектуре.
чтобы тестировалось в разных уровнях от отдельно виджетов до отдельных бизнес сценариев.
чтобы параллельно могло работать много команд над кодом.
Да. Еще раз повторюсь - сам гетикс никакого отношения к твоей архитекуре не имеет. Он лишь предоставляет инструменты, которые ты можешь использовать - state management, routing, di, httpClient.
А твое дело решить, что из этого подходит к твоей архитектуре, а что нет.
Никто не мешает (и есть примеры) - взять за основу так называемую "чистую архитектуру" и использовать гетикс вместе с ней. Или не гетикс а блок, или провайдер...
Я не являюсь "адептом" гетикса или хейтером блока - я за то, что не нужно исскуственно ограничивать себя в выборе инструмента, только потому, что кто-то "авторитетный" заявил, что только он знает, как правильно.
источник

t

tdesc in Flutter Developers — русскоговорящее сообщество
можно рисунок посмотреть как это выглядит?
источник

t

tdesc in Flutter Developers — русскоговорящее сообщество
почему di не занимается dependency injection и занимается чем то еще?
источник

EA

Eugene Alitz in Flutter Developers — русскоговорящее сообщество
tdesc
почему di не занимается dependency injection и занимается чем то еще?
что ты имеешь в виду?
источник

t

tdesc in Flutter Developers — русскоговорящее сообщество
у меня есть класс А и я хочу ему иджектнуть класс Б
для этого я пишу аннотацию в классе А и в специальное место называемое di container я положу имплементацию класса Б.
вроде с di и его функциями все.
источник

EA

Eugene Alitz in Flutter Developers — русскоговорящее сообщество
что такое di - я понимаю.
Не понимаю вопроса
источник

EA

Eugene Alitz in Flutter Developers — русскоговорящее сообщество
tdesc
можно рисунок посмотреть как это выглядит?
Рисунок нет,но в двух словах:
Есть слои: ui, controllers, data, services
ui - это виджеты, они имеют доступ только к контроллерам, и все нужные им данные и стейты получают от них.
Так же виджеты могут изменять тот или иной стейт, как результат действий пользователя.
контроллеры - это state management. Каждый контроллер ответственен за свою сферу деятельности и, в идеале, не должен взаимодействовать с другими контроллерами. Данные получает из репоситориев (слой data) или напрямую из сервисов
data - репоситории, предоставляют собой имплементации тех или иных интерфейсов по работе с данными
сервисы -  набор классов по работе с внешними api (http, db, location, ble...)
источник

EA

Eugene Alitz in Flutter Developers — русскоговорящее сообщество
Кстати di гетикса я не использую, только state management и routing.
Для di используем get_it
источник

t

tdesc in Flutter Developers — русскоговорящее сообщество
источник

t

tdesc in Flutter Developers — русскоговорящее сообщество
вот я так рисовал на днях
источник

t

tdesc in Flutter Developers — русскоговорящее сообщество
каждый контроллер конечно ответственный. но кто ответственный за код контроллера?
источник

EA

Eugene Alitz in Flutter Developers — русскоговорящее сообщество
tdesc
каждый контроллер конечно ответственный. но кто ответственный за код контроллера?
getx
источник

t

tdesc in Flutter Developers — русскоговорящее сообщество
у тебя 10 человек например
источник