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

Добрый день! Разработкой монолитов и микросервисов занимаюсь давно на SQL/.NET. Flatter/Dart

начал изучать недавно. Посоветуйте хороший ресурс посвященный построению архитектуре приложений на Flatter/Dart. Пока для меня Flatter/Dart выглядит этаким зоопарком, нет единых практик и подходов. Интересует как реализовать принципы SOLID, DDD, Dependency Injection, Clear Architecture. Многие статьи которые читаю противоречат друг другу и явно указывают на индусское происхождение.
В качестве стейт системы решил выбрать BLOC, однако все описания и примеры используют 1-2 блока в системе. Попытка использовать BLOC как Mediatr в .NET не приводит к желаемому результату. Если предполагается несколько сотен блоков как реализовать взаимодействие между блоками?
Возможно не там ищу, может есть может что-то похожее на референсную архитектуру для приложений от Майкросовт?

15 ответов

31 просмотр

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

Смотри в сторону MobX.dart. Это примерный аналог MVVM для натива или Vue.js, если знаком с таким. Забудь про блок. Громоздкая неудобная хренотень. И не слушай чувака с редаксом.

N-P Автор вопроса
Sergio Molchanovsky
Смотри в сторону MobX.dart. Это примерный аналог M...

С MVVM не знаком. я до этого не писал фронтоые приложение. 15 лет только бек

N-P Автор вопроса
Sergio Molchanovsky
Смотри в сторону MobX.dart. Это примерный аналог M...

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

https://vas3k.club/post/10567

N P
мне bloc показался очень похожим на Mediatr библио...

Не ищи, прочитай доку по MobX, и делай как тут https://mobx.netlify.app Все кейсы покрывает. В качестве IoC возьми get_it

Sergio Molchanovsky
Смотри в сторону MobX.dart. Это примерный аналог M...

мввм для декларативной вёрстки нафиг не нужен, как и слушать ётунхейм чувака даже если у него шильдик админ

Каво, блок громоздкий, щитоо

redzed .
Каво, блок громоздкий, щитоо

Даже с версией 8.0 не сильно легче стало. Могу пояснить свою нелюбовь к блоку. Вот пример из моего проекта — блок карточек "что нового". Загружаем их при помощи кубита. Пишем сам кубит. Создаем 4 стейта: InitialState, LoadingState, DataState, ErrorState. И дальше мне понадобилось при нажатии на крестик скрывать весь блок карточек. И это в том же кубите уже сделать нельзя! Так как он только под загрузку данных. Это значит, надо написать ещё 1 кубит, в нем написать 2 стейта (VisibleState / InvisibleState), создавать его, считывать... Итого 2 кубита и 8 классов стейтов (а если блоки, то еще и ивенты написать). Насколько проще то же самое было бы в MobX сделать!

Sergio Molchanovsky
Даже с версией 8.0 не сильно легче стало. Могу поя...

Вы же сами сказали что он для управления данных, второй кубит с визибл/инвизбл не нужен, т.к он никакими данными не управляет Здесь можно обойтись, как я и говорил ранее, ValueNotifier'ом Стейты и эвенты классами уже никто не пишет, пишут единый класс НеймБлокСтейт и НеймБлокЭвент и в них фактори с именами и параметрами стейтов

redzed .
Вы же сами сказали что он для управления данных, в...

> пишут единый класс НеймБлокСтейт и НеймБлокЭвент и в них фактори с именами и параметрами стейтов Через freezed?

redzed .
Вы же сами сказали что он для управления данных, в...

BLoC ещё вынуждает писать по 10 раз одни и те же стейты: Initial/Loading/Data/Error, пускай даже через freezed, все равно дублирование кода получается. В MobX уже просто есть готовая надстройка над фьючей — ObservableFuture, чтобы отслеживать её статус (pending/rejected/fulfilled).

Sergio Molchanovsky
BLoC ещё вынуждает писать по 10 раз одни и те же с...

С одной стороны, я согласен то что иметь уже готовые надстройки порой удобно, но когда ты описываешь собственноручно состояния — ты знаешь что и при каких условиях может произойти, случится ли rejected при получении например кода 401 от дата провайдера или fullfilled если у нас вернулся пустой массив Проще говоря, имея свои стейты можно так же описывать и их условия, что как я считаю, повышает flexibility

Sergio Molchanovsky
BLoC ещё вынуждает писать по 10 раз одни и те же с...

Надо будет попробовать наследовать Bloc с данными реализованными стейтами в след. проекте

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

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

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
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
Карта сайта