我想我现在至少对如何在我的应用程序中使用BLoC,Stream Builder和Inherited Widget(或Model)有一个模糊的想法(没什么特别的,但对我来说需要时间),但是玩Scoped模型 我有一种存在主义的危机:我觉得他们大多可以做同样的事情,或者至少我可以用它们中的任何一个获得同样明显的结果,但我没有能力去理解何时以及为什么一个比另一个好。
简而言之:如果你有小型应用程序使用范围模型,因为集团往往会使它复杂化,如果你有大应用程序使用集团。 有关详细说明,请参阅此文章:bloc vs scoped_model
以下是Remi Rousselet给出的流构建器和继承小部件之间的比较:https://stackoverflow.com/a/49958864/10471480
Streams / Sink绝对非常适合存储州。有一些现有的体系结构,例如BLoC,它们使用了很多。
但是,Streams并不完全取代InheritedWidget
。 InheritedWidget
具有很酷的功能,只能覆盖屏幕的一部分内容。一个很酷的应用是Theme
。
一般来说,Streams
很酷,可以存储业务逻辑。但是当你需要存储UI逻辑时,InheritedWidgets
占了上风。