【问题标题】:The Clean Architecture, usecase dependencies清洁架构,用例依赖
【发布时间】:2017-03-20 09:53:24
【问题描述】:

最近,我找到了 The Clean Architecture Bob 叔叔的帖子。但是当我尝试将它应用到当前项目时,当一个用例需要依赖另一个用例时,我陷入了困境。

例如,我的领域模型是目标和任务。一个目标可以有多个任务。当我更新一个任务时,它需要更新其父目标的信息。换句话说,UpdateTask 用例将有UpdateGoal 用例作为依赖项。我不确定这是否可以接受,或者我们是否应该避免用例级别的依赖。

【问题讨论】:

    标签: clean-architecture


    【解决方案1】:

    用例与应用程序的功能相关。一般来说,当我们需要从一个用例调用到另一个用例时,有些东西是行不通的。

    当你孤立地更新一个目标时,它和你通过一个任务的改变来更新它的场景是不一样的,事实上,它肯定不是所有的数据都被更新了,而是一部分。

    当然,您将不得不使用目标存储库和目标实体,但这是完全不同的场景。在您的情况下,您没有复制逻辑,仅调用存储库或实体,将来节省代码行可能会很昂贵。

    简而言之,用例之间存在依赖并不是一个好主意。

    【讨论】:

    • 我不完全同意你的说法,这是我的用例(没有双关语?)。我有一个为特定用户生成 AuthSession 的用例,该用例由应用程序中的管理员角色用户调用。我还有一个用例,它使用电子邮件/密码对用户进行身份验证,而不是重新创建为用户生成 AuthSession 的逻辑,而是调用另一个用例。现在,这是我的解决方案,小团队在实施干净架构时可以明智地偏离,但我确信大型团队对干净架构的指导原则更加严格。
    猜你喜欢
    • 2020-12-12
    • 1970-01-01
    • 2021-01-22
    • 2019-03-28
    • 2022-05-18
    • 1970-01-01
    • 2021-10-16
    • 2018-07-13
    • 2018-06-15
    相关资源
    最近更新 更多