【发布时间】:2017-03-20 09:53:24
【问题描述】:
最近,我找到了 The Clean Architecture Bob 叔叔的帖子。但是当我尝试将它应用到当前项目时,当一个用例需要依赖另一个用例时,我陷入了困境。
例如,我的领域模型是目标和任务。一个目标可以有多个任务。当我更新一个任务时,它需要更新其父目标的信息。换句话说,UpdateTask 用例将有UpdateGoal 用例作为依赖项。我不确定这是否可以接受,或者我们是否应该避免用例级别的依赖。
【问题讨论】:
最近,我找到了 The Clean Architecture Bob 叔叔的帖子。但是当我尝试将它应用到当前项目时,当一个用例需要依赖另一个用例时,我陷入了困境。
例如,我的领域模型是目标和任务。一个目标可以有多个任务。当我更新一个任务时,它需要更新其父目标的信息。换句话说,UpdateTask 用例将有UpdateGoal 用例作为依赖项。我不确定这是否可以接受,或者我们是否应该避免用例级别的依赖。
【问题讨论】:
用例与应用程序的功能相关。一般来说,当我们需要从一个用例调用到另一个用例时,有些东西是行不通的。
当你孤立地更新一个目标时,它和你通过一个任务的改变来更新它的场景是不一样的,事实上,它肯定不是所有的数据都被更新了,而是一部分。
当然,您将不得不使用目标存储库和目标实体,但这是完全不同的场景。在您的情况下,您没有复制逻辑,仅调用存储库或实体,将来节省代码行可能会很昂贵。
简而言之,用例之间存在依赖并不是一个好主意。
【讨论】: