【问题标题】:Why controller has to call interface on use cases in Clean Architecture为什么控制器必须在 Clean Architecture 中的用例上调用接口
【发布时间】:2018-08-10 13:58:03
【问题描述】:

在 Robert Martin 的干净架构书中,我认为 Controller 必须调用 UseCase 的接口。但是,既然所有的依赖都是向内的,也就是说 Adapter 层依赖于 Application 层,那为什么还需要一个接口呢?我应该可以直接新建用例

【问题讨论】:

    标签: clean-architecture


    【解决方案1】:

    根据您项目的规模和复杂性,只需在控制器中使用 new 创建用例交互器并直接使用实现就可以了。

    不过,使用接口(输入端口)有几个优点:

    • 测试:如果您想对您的控制器代码进行单元测试,接口将允许您模拟用例交互器
    • 依赖关系:如果你的用例交互器对域服务或存储库有依赖关系,那么你想在你的“主组件”中“连接它们”,并通过接口(输入端口)将用例交互器传递给控制器​​

    有关控制器和演示者的更深入讨论,请查看我的博客文章:http://www.plainionist.net/Implementing-Clean-Architecture-Controller-Presenter/

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-01-21
      • 2018-01-03
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多