因此,我正在尝试构建一个社交网络应用程序,并且我看到了许多不同的实现应用程序体系结构的方式。我对Flutter还是比较陌生,因此,如果有经验的人可以签下我的方法(我想确保它具有可伸缩性),我将不胜感激。
当前,我有一个FirestoreAPI
类,这使我可以获取,设置数据库中各个集合中的快照文档。
我还有一个FirebaseAuthenticationService
类,用于登录/注销用户,并使用Provider在整个应用程序中存储currentUser数据,如下所示:
(In main.dart)
@override
Widget build(BuildContext context) {
return MultiProvider(
providers: [
ChangeNotifierProvider(create: (_) => FirebaseAuthenticationService()),
],
然后我可以使用Provider.of<FirebaseAuthenticationService>(context).currentUser
如果我想在Firestore中获取/设置数据,只需使用FirestoreAPI
在应用中的任何地方初始化final fireStoreAPI = FirestoreAPI();
即可,然后我就可以访问其中的方法(例如创建流)。
我的担忧:
我已经看到很多使用locator
包来将FirebaseAPI
和FirebaseAuthenticationService
初始化为LazySingletons
的情况,这对我来说是必需的吗?
我还应该在FirestoreAPI
中初始化MultiProvider
还是可以像现在这样调用它?
请问我是否还不够具体。
我非常乐意接受任何建议/改进!