作用域模型,BLoC模式,StreamBuilder和继承的Widget(或模型)我应该选择哪一个,为什么?

时间:2018-12-16 15:26:12

标签: flutter bloc stream-builder inherited-widget scoped-model

我认为我现在至少对如何使用 BLoC Stream Builder 和我的应用程序中的 继承的窗口小部件 (或 模型 )(没什么特别的,但是对我来说是很花时间的),但使用 作用域模型
我遇到了某种生存危机:我觉得他们几乎可以做同样的事情,或者至少我可以与任何一个人取得相同的明显结果,但是我没有能力理解 何时< / em> 为什么 一个更好。

1 个答案:

答案 0 :(得分:1)

作用域模型与Bloc

简而言之:如果您有小型应用程序,请使用作用域模型,因为集团会使其复杂化;如果您有大型应用程序,请使用 bloc
有关详细说明,请参见本文:bloc vs scoped_model


Stream Builder与继承的窗口小部件

以下是Remi Rousselet提供的流生成器继承的小部件之间的很好的比较:https://stackoverflow.com/a/49958864/10471480

流/接收器绝对是存储状态的绝佳选择。现有一些架构,例如BLoC经常使用它们。

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

通常来说,Streams非常适合存储业务逻辑。但是,当您需要存储UI逻辑时,InheritedWidgets占了上风。