如何从单例通知高级提供者? (颤振设计模式)

时间:2021-03-31 01:18:53

标签: flutter dart design-patterns

在我的应用程序中,我有一个单例 SettingsData,它保存所有用户的设置数据(而不是每次都从 SharedPreferences 异步读取一次)。 我在调用 RunApp(...) 之前创建了那个单例。

最重要的是,我有一个小部件 CurrentItems(它是一个 ChangeNotifierProvider),这是一个业务逻辑,表示要根据用户当前的设置/首选项显示给用户的项目。

在用户设置发生任何变化时(当然是去抖动),我想通知 CurrentItems 对象,以便它可以从服务器获取相关项目,并在获取新的相关项目后更新 UI(最后一部分已经在工作,因为CurrentItems 是一个 ChangeNotifierProvider)

实现这一目标的合理方式/模式是什么?

例如,将 SettingsData 设为 ChangeNotifierProvider 并将 CurrentItems 设为 Consumer 并不是一个好的选择,因为 CurrentItems 是一个高级项目,这意味着在从服务器获取新项目之前,每次设置更改时都会重建整个 UI。< /p>

0 个答案:

没有答案