web-dev-qa-db-ja.com

スコープ付きモデル、BLoCパターン、StreamBuilder、および継承ウィジェット(またはモデル)どれを選択すればよいですか、またその理由は何ですか。

BLoCStream BuilderおよびInherited Widget(または- Model)(私の特別なことは何もありませんが、私にとっては時間がかかりました)がスコープモデル
私はある種の実存的危機を経験しました:彼らはほとんど同じことを行うことができると感じています、または少なくともそれらのいずれかで同じ見かけ上の結果を達成できると思いますが、私には理解する能力がありませんwhenおよびwhy 1つは他よりも優れています。

16

スコープモデルとブロック

簡単に言うと、小さなアプリがある場合はスコープモデルを使用します。これは、ブロックが複雑になる傾向があるためです。また、大きなアプリがある場合 =)bloc
詳細な説明については、この記事を参照してください: bloc vs scoped_model


ストリームビルダーと継承されたウィジェット

stream builderinherited widgetの優れた比較は、Remiによって与えられますルースレット: https://stackoverflow.com/a/49958864/1047148

Streams/Sinkは、状態を保存するのに最適です。 BLoCなどの既存のアーキテクチャーは、それらを頻繁に使用しています。

しかし、ストリームはInheritedWidgetを完全に置き換えません。 InheritedWidgetには、画面の一部のみのコンテンツを上書きできる優れた機能が備わっています。これのすばらしいアプリケーションの1つはThemeです。

一般的に言えば、Streamsはビジネスロジックを格納するのに最適です。ただし、UIロジックを格納する必要がある場合は、InheritedWidgetsが優先されます。

3