首页 > 解决方案 > MVVM 与 Bloc 模式

问题描述

我正在使用 Flutter 创建一个新应用程序,并且我正在尝试设计它,将业务逻辑与视图分离。

我读过 Bloc 和 MVVM(我知道还有其他模式,但这些是我更喜欢的模式),但我不明白它们之间的区别。在我看来,它们几乎相同。

有谁可以帮我理解它们?

标签: mvvmflutterbloc

解决方案


查看MVVM的此插图(来源):

您可以看到有单独的数据和业务逻辑模型。但是,使用BLoC并没有真正的区别。处理业务逻辑的类也处理数据,这也适用于MVVM

说句公道话,其实差别不大。两者的关键部分是相同的:将业务逻辑与 UI 隔离。因此,两者中任何一个的实现看起来都非常相似,即使用Stream's 和StreamBuilder's。
此外,还有一些包可以让使用Stream' 变得更容易,例如rxdart,就我而言,这是 Flutter 团队使用的。


推荐阅读