【 Flutter 】Flutter を 基礎 から 学習 ( アーキテクチャ ) part248 Scoped Modelパターンとは

基礎 から 学ぶ Flutter 」という書籍で  学習 したことを ブログでアウトプットしていこうと思います。今回は アーキテクチャ ( part248 )です。

前回

【 Flutter 】Flutter を 基礎 から 学習 ( アーキテクチャ ) part247 BLoCパターン + 「provider」プラグインのサンプル

引き続き、アーキテクチャについて学びます。

Scoped Modelパターンとは

Scoped ModelパターンとはもともとGoogleの新OS、Fuchsiaで使用されていたパターンです。

Scoped Modelを利用するにはscoped_modelプラグインを導入する必要があるようです。

scoped_modelプラグインは以下の機能を提供しています。

  • 親ウィジェットから子孫ウィジェットに簡単にデータモデルを渡すことができるユーティリティ
  • モデルの更新時にモデルを使用するすべての子も再構築する
  • InheritedWidgetウィジェットおよびListenableクラスのラッパークラスを提供

モデルが更新されたらなぜ再構築する必要があるのでしょうか?

Listenableクラスはオブジェクトが変更されたら通知することを表すインタフェースのです。
監視用のクラスでしょうか。

最後に

親子でデータの授受というのはScoped Modelパターンを使わないといけないほど難しいものなのでしょうかね。
なぜFlutterのフレームワークでカバーしていないのか謎です。

今日はここまで!