1

作为一名 Android 开发人员,我正在研究和开发一个颤振应用程序。

我不熟悉颤振、飞镖和 BloC 架构模式。无论如何,我正在将 BloC 模式应用到我的颤振应用程序中。

因为我学习了清洁架构,所以我也想应用清洁架构。第一次,我根据特性分离了 BloC 类。

我的玩具应用是 Todo 应用。

所以我有一个非常简单的功能,我将 BloC 定义为:

  • 创建待办事项 > CreateTodoBloc
  • 更新待办事项 > UpdateTodoBloc
  • 获取待办事项 > GetTodosBloc
  • 删除待办事项 > DeleteTodoBloc

在我的主页 UI/视图中,显示了待办事项列表,并且可以在用户完成待办事项时更新。

在这种情况下,主 UI/View 应该有两个 BloC:GetTodosBloc 和 UpdateTodoBloc

这可以显示待办事项列表,当用户点击待办事项的按钮时,待办事项被更新并保存到本地数据库中。

但问题是待办事项列表没有改变!我的主页 ui/view 根据待办事项的完整状态显示不同的待办事项列表。

看起来我的概念是错误的......为了解决这个问题,我认为我应该根据 UI/View 使用 BloC。

那么 Home UI/View 将只有一个块对象:“HomeBloc”。

并且“HomeBloc”可能会显示用户界面并更新待办事项。

所以...

我想听听其他开发人员的意见,并知道是否有另一种最佳做法。

4

1 回答 1

2

希望您在很长一段时间后仍在从事 Flutter 项目。

我真的很喜欢你在 Flutter 中思考和实现干净架构的方式。

我最近一直在使用鲍勃叔叔的清洁架构原则,这令人惊讶,这是他拥有的五个原则之一,Single Responsibility Principle而且我真的认为 BLoC 是一种管理你的状态的方法,如果你在 Google 的AAC(Android 架构组件),因此它们实际上不应该在其中执行任何逻辑操作。

它应该只从 UI 获取命令并将其传递给用例,这些用例应该使逻辑然后再次将结果返回给视图。

我刚刚制作了一个实现清洁架构原则的测试应用程序,并希望获得您的反馈,您可以从这里访问 repo 。

于 2020-02-09T23:32:10.743 回答