为什么控制器必须在Clean Architecture中的用例上调用接口

时间:2018-08-10 13:58:04

标签: clean-architecture

在罗伯特·马丁(Robert Martin)干净的体系结构书中,我似乎控制器必须调用UseCase的接口。但是,由于所有依赖关系都指向内部,这意味着适配器层对应用程序层具有依赖关系,那么为什么还需要一个接口?我应该能够直接更新用例

1 个答案:

答案 0 :(得分:0)

根据您项目的规模和复杂性,最好在控制器中简单创建带有new的用例交互器并直接使用实现。

但是使用接口(输入端口)有一些优点:

  • 测试:如果您要对控制器代码进行单元测试,则可以使用一个接口来模拟用例交互器
  • 依赖性:如果您的用例交互器具有对域服务或存储库的依赖性,那么您想在“主组件”中“连接”这些对象,然后将用例交互器通过接口(输入端口)传递给控制器​​< / li>

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