Модель Scoped, шаблон BLoC, StreamBuilder и Inherited Widget (или Model), какую из них выбрать и почему? - PullRequest
0 голосов
/ 16 декабря 2018

Я думаю, что теперь у меня есть хотя бы смутное представление о том, как использовать BLoC , Stream Builder и Inherited Widget (или Model ) в моем приложении (ничего особенного, но для меня это заняло время), но игра с Модель Scoped
У меня был своего рода экзистенциальный кризис: я чувствую, что они в основном могут делать то же самое, или, по крайней мере, я могу добиться таких же очевидных результатов с любым из них, но я неиметь способность понимать , когда и , почему одно лучше другого.

1 Ответ

0 голосов
/ 19 апреля 2019

Модели Scoped против Bloc

Вкратце: если у вас небольшие приложения, используйте модели с областями действия , так как блок имеет тенденцию усложнять его, а если у вас большое приложение, используйте bloc .
См. Эту статью для подробного объяснения: блок vs scoped_model


Stream Builder vs Inherited Widget

Вот хорошее сравнение между построитель потоков и унаследованный виджет от Remi Rousselet: https://stackoverflow.com/a/49958864/10471480

Streams / Sink определенно отлично подходят для хранения состояния.Существуют некоторые существующие архитектуры, такие как BLoC, которые часто их используют.

Но , потоки также не полностью заменяют InheritedWidget.InheritedWidget поставляется с классной возможностью переопределять его содержимое только для части экрана.Одним из классных применений этого является Theme.

Вообще говоря, Streams отлично подходит для хранения бизнес-логики.Но когда вам нужно сохранить логику пользовательского интерфейса, InheritedWidgets берет верх.

...