gpt4 book ai didi

flutter - 根据 Clean Architecture,将存储库从 main.dart 传递到小部件的正确方法是什么?

转载 作者:行者123 更新时间:2023-12-05 05:59:54 25 4
gpt4 key购买 nike

我正在尝试在 Clean Architecture 中实现一个(试用)应用程序。它只不过是一个普通的应用程序,在从网络 API 获取数据后显示数据。如果我没记错(如果我错了请通知我),(最低)正确的方法是有

  • 一个实体(一个具有由 web api 提供的确切字段的类),一个数据提供者(一种从 web api 获取数据的机制),一个代表应用程序数据处理的存储库,可用于保存格式化数据(将加载到小部件)的模型类。

  • 可用于显示数据的小部件和 main.dart 文件(应用程序的入口点)

现在我想知道在 main.dart 文件中设置存储库是否正确:

void main() {
runApp(MyApp(
ARepository(
AWebClientDataProvider:
AWebClientDataProvider()
)
));
}

然后我必须将存储库传递给小部件。我曾尝试使用“Provider”包,但它不起作用(因为它必须在 initState() 中工作)。目前,我通过小部件的构造函数传递存储库来让它工作(有更好的方法吗?)。

最佳答案

绝对不错,推荐的方式。您应该始终尝试对构造函数进行依赖注入(inject),以遵守 SOLID 的依赖倒置原则。

但是手动管理所有的依赖关系其实很繁琐。因此,强烈建议使用 GetX 之类的工具来管理您的依赖项。

关于flutter - 根据 Clean Architecture,将存储库从 main.dart 传递到小部件的正确方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67905106/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com