直到现在,我都在代码中使用了Singleton模式,但现在我改用Remi Rousselet的Provider。到目前为止,我有一个业务逻辑类,该类还依赖于其他7个类。 ProxyProvider最多允许使用6个。在这种情况下,如何实现Provider模式?
class BlocAuth {
BlocAuth(this.serviceChatFirestore);
ServiceChatFirestore serviceChatFirestore;
var _state = AuthState();
var blocUser = BlocUser();
var user = UserModel();
var blocRouting = BlocRouting();
var blocBrands = BlocBrands();
var blocNotifications = BlocNotifications();
}
答案 0 :(得分:2)
ProxyProvider实际上没有固定为任何数量的依赖项。
ProxyProvider vs ProxyProvider6只是一些语法糖。实际上并不需要后者
例如:
ProxyProvider3<A, B, C, Result>(
builder: (_, a, b, c, previous) {
...
}
)
严格等同于:
ProxyProvider<A, Result>(
builder: (context, a, previous) {
final b = Provider.of<B>(context);
final c = Provider.of<C>(context);
...
},
)
所以您可以这样做:
ProxyProvider6<A, B, C, D, E, F, Result>(
builder: (context, a, b, c, d, e, f previous) {
final g = Provider.of<G>(context);
...
}
)