我应该如何在一个项目中执行Firebase是强制性的,但没有任何Firebase?



我和我的朋友正在做一个项目。他负责Firebase部分,我负责前端部分。这里有一个问题:没有Firebase所以我没有任何数据。那样的话我该怎么办呢?

我应该创建假数据或类与参数:?

class Firebase_Datas{
String name;
String surname;
.
..
...
if (name == null){
return "---";  //I assumed that arguments were given.
.
..
...
}
}
```

一般来说,你应该在某种程度上进行面向接口的编程,这意味着:与你的合作伙伴交谈,并使双方的期望保持一致。

但是你的问题特别提到了模型。没有正确答案,但我建议你这样做:

  • 按示例创建模型:

class UserModel {
final String name;
final String surname;
}
  • 使用存储库模式保护UI/控制器不受模型更改的影响

abstract class UserRepository {
Future<UserModel> getUser();
}
class UserFakeRepository implements UserRepository {
@override
Future<UserModel> getUser() {
final result = UserModel('John', 'Doe');
}
}
  • 在你的UI/控制器层,你应该使用存储库,而不是直接向UI提供数据:

class _UserPageState extends State<UserPage> {
UserModel? user;

@override
void initState() {
_repository.getUser().then((result) =>
setState(() {
user = result;
}));
}
}
  • 在Firebase部分构建之后,您可以实现一个新的UserRepository并更改依赖注入(意思是,停止使用UserFakeRepository并使用这个新的):

class UserFirebaseRepository implements UserRepository {
@override
Future<UserModel> getUser() {
final result = _firebase.query(...);
}
}
  • 对于单元测试,我建议您为Firebase.instance创建一个包装器。如果您直接在存储库中使用它们,您将无法为存储库编写单元测试。

  • 通过这种方式编写代码,当您将应用程序与Firebase集成时,UI层将保持不变。

相关内容

  • 没有找到相关文章

最新更新