Глядя на эту иллюстрацию для MVVM ( источник ):
Вы видите, что существуют отдельные данные и бизнеслогические модели.Однако при использовании BLoC на самом деле такого различия нет.Классы, которые обрабатывают бизнес-логику, также обрабатывают данные, которые также могут применяться к MVVM .
Если честно, разницы на самом деле не так много. ключевая часть , которую нужно убрать, одинакова для обоих: изоляция бизнес-логики от пользовательского интерфейса.Следовательно, реализация любого из этих двух компонентов будет выглядеть очень похоже, т.е. с использованием Stream
и StreamBuilder
.
Кроме того, существуют пакеты, которые делаютработать с Stream
проще, например, rxdart
, что, как мне кажется, использует команда Flutter.