详细了解Provider
和ChangeNotifier
体系结构后,我发现它与旧的良好MVVM体系结构非常相似,其中Widget
是视图,并由{ {1}},即ViewModel
,由ChangeNotifier
和Consumer
链接。
为什么这不叫Flutter的MVVM?这两种架构之间有什么实际区别?
答案 0 :(得分:2)
提供者不是State-Management
库,而是Dependency-Injection
。
使用提供程序,您可以实现几乎任何类型的状态管理解决方案,并使您的工作变得简单得多。
您可能听说过BLoC
,在Flutter中,它是建议的体系结构,如今人们通常更喜欢带有Provider(DI)的BLoC(体系结构)。
BLoC架构与MVVM非常相似,不同之处在于BLoC更具响应性/现代性,也更适合Flutter的反应性/功能性结构。
但基本上,如果您不是events-state
机制的忠实拥护者,那就可以说是一样的。是的,您的观察是正确的,我们通常会从根本上使用evolved-MVVM
。
答案 1 :(得分:2)
provider
绝不是体系结构。这是一种成分。
使用ChangeNotifier
时绝对没有强迫您使用Provider
的情况。
您可以将其与Mobx,BLoC,Redux等...结合使用。