Scoped Model,BLoC模式,StreamBuilder和Inherited Widget(或Model)我应该选择哪一个?为什么?

Fra*_*cca 15 flutter inherited-widget bloc stream-builder scoped-model

我想我现在至少有一个模糊的想法,
如何在我的应用程序中使用BLoC,Stream Builder
继承的小部件(或模型)
(没有什么特别的,但对我来说需要时间),
但玩Scoped模型
我有一个存在的危机:

我觉得他们大多数可以做同样的事情,或者
至少我可以
用它们中的任何一个获得相同的明显效果,
但我没有能力去理解
何时 以及为什么一个比另一个好.

我故意保持开放的问题不要因为我而讨厌我,
但我希望能更好地理解我正在做的事情
以及使用这一个或另一个事件在幕后发生的事情.

谢谢你的耐心等待.弗朗切斯科

Ps:我不能添加'范围模型'标签,如果可以的话,
它可能与像我这样的新手有关

Man*_*nnu 3

范围模型与 Bloc

简而言之:如果您有小型应用程序,请使用作用域模型,因为 bloc 往往会使它变得复杂,如果您有大型应用程序,请使用bloc
详细解释请参阅这篇文章:bloc vsscoped_model


Stream Builder 与继承的小部件

这是Remi Rousselet 给出的流构建器继承小部件之间的一个很好的比较: /sf/answers/3497120511/

Streams/Sink 绝对非常适合存储状态。有一些现有的架构,例如 BLoC 就大量使用它们。

但是,流并没有完全取代InheritedWidget这两者。 InheritedWidget具有很酷的功能,可以仅覆盖屏幕的一部分内容。一个很酷的应用程序是Theme.

一般来说,Streams存储业务逻辑很酷。但当你需要存储 UI 逻辑时,InheritedWidgets就占据了上风。