我正在作为Android开发人员研究和开发Flutter应用。
我对抖动,飞镖和BloC架构模式不熟悉。 无论如何,我正在将BloC模式应用于我的flutter应用程序。
因为我学习了Clean Architecture,所以我也想应用Clean Architecture。 第一次,我根据功能分离了BloC类。
我的玩具应用是Todo应用。
所以我有一个非常简单的功能,我定义了BloC,例如:
在我的主界面/视图中,显示待办事项列表,当用户完成待办事项时可以对其进行更新。
在这种情况下,主界面/视图应具有两个BloC:GetTodosBloc和UpdateTodoBloc
这可以显示待办事项列表,当用户单击待办事项按钮时,待办事项将更新并保存到本地数据库中。
但是问题是待办事项列表没有更改! 我的家庭用户界面/视图根据待办事项的完整状态显示待办事项列表。
看来我的概念是错误的... 为了解决这个问题,我认为我应该在每个UI /视图中使用BloC。
然后,主界面/视图将只有一个块对象:“ HomeBloc”。
“ HomeBloc”可能会显示用户界面并更新待办事项。
所以...
我想听听其他开发人员的意见,并且知道还有另一种最佳实践。
答案 0 :(得分:2)
希望那段时间过后您仍在从事Flutter项目。
我真的很喜欢您在Flutter中思考和实现干净架构的方式。
我最近一直在使用Bob叔叔的干净架构原则,这令人惊讶,这是他拥有Single Responsibility Principle
的五项原则之一,老实说,我认为BLoC是管理状态的一种方式,仅与我所想到的相同如果您在Google的AAC(Android体系结构组件)中了解ViewModel,则实际上它们不应该在其中执行任何逻辑操作。
它应该仅从UI获取命令并将其传递给用例,这些用例应使逻辑然后将结果再次返回到视图。
我刚刚制作了一个测试应用程序,该应用程序实现了Clean Architecture原理,并且希望获得您的反馈,您可以从here访问该存储库。