18

我想我现在至少对如何在我的应用程序中使用BLoCStream BuilderInherited Widget(或Model)有了一个模糊的想法(没什么特别的,但对我来说这需要时间),但是使用Scoped Model
我有一个一种生存危机:我觉得他们大多可以做同样的事情,或者至少我可以用他们中的任何一个获得相同的明显结果,但我没有能力理解何时 以及为什么一个人比另一个人更好。

4

1 回答 1

3

范围模型与 Bloc

简而言之:如果您有小型应用程序,请使用范围模型,因为 bloc 往往会使它复杂化,如果您有大型应用程序,请使用bloc
详细解释见这篇文章:bloc vs scoped_model


流生成器与继承的小部件

这是Remi Rousselet 给出的流构建器继承小部件之间的一个很好的比较: https ://stackoverflow.com/a/49958864/10471480

Streams/Sink 绝对是存储状态的绝佳选择。有一些现有的架构,例如 BLoC,它使用它们很多。

但是,Streams 也不能完全取代InheritedWidgetInheritedWidget具有很酷的功能,可以仅在屏幕的一部分上覆盖其内容。一个很酷的应用是Theme.

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

于 2019-04-19T06:04:46.213 回答