用例还是参与者的责任?

Use case or actor responsibility?

提问人:midnight 提问时间:9/12/2023 更新时间:9/12/2023 访问量:19

问:

我很难找到实现逻辑的地方。

假设有一个书签存储库。可以通过 Flow 观察存储库。生成的书签内容可能会受到用户注销、书签项目被删除等事件的影响,这些事件会更改生成的书签集。

我想到有两个地方可以放置对此类事件做出反应的逻辑:

  1. 在用例中,比如 GetBookmarks:我可以构建生成的流程,这样它不仅可以代理存储库获取调用,还可以观察注销事件并在同一流程中运行更新存储库操作。
  2. 来自状态持有者,比如 actor 或 viewmodel,它将接受 GetBookmarks 的愚蠢实现(除了代理存储库的 get 方法调用之外什么都不做)和注销事件的源,最终在 actor 的执行过程中处理此类注销事件。

使用第一个选项可能会很麻烦,但 UseCase 似乎是业务逻辑(例如对其他业务事件做出反应)的良好候选者。另一方面,使用选项 2,状态容器的实现会更容易,但会在状态容器中放置更多的业务逻辑。

我是否可以采用区别或原则来做出最终决定?

Android Actor Reactive Clean-Architecture 用例

评论


答: 暂无答案