【发布时间】:2018-09-13 21:22:01
【问题描述】:
想弄清楚一些概念却一直没能理解
端口和适配器架构中的用例是什么?
用例的实现是什么样的?
什么是用例关注点?
它在基础设施或领域中的位置,它说它在应用程序中,那么根据我的理解,应用程序核心和应用程序服务是不同的?
在左侧,适配器依赖于端口并被注入一个 端口的具体实现,其中包含用例。在 这边,无论是端口还是它的具体实现(使用 case) 属于应用程序内部;
https://herbertograca.com/2017/09/14/ports-adapters-architecture/#what-is-a-port
这句话让我感到困惑......因为据我了解,主适配器可以是任何要求您的业务逻辑(它对您提供的内容感兴趣)WebAPI、MVC、测试、ConsoleApp。
在左侧,适配器依赖于端口并被注入一个 包含用例的端口的具体实现。
所以我假设它指的是你的业务逻辑被注入 let;s 说一个 WebApiController 构造函数
在这方面,端口及其具体实现(使用 case) 属于应用程序内部;
那又怎样?这是谁
应用
是 WebApi 吗?还是域?我理解的用例也是我的业务逻辑的实现,所以例如设计是这样的?
Client :
WebApiController(IMyBusinessServicePort service)
Infrastructure :
ImplementingPrimaryAdapter : IMyBusinessServicePort { }
ImplementingSecondaryAdapter : ILoggingPort { }
Domain :
ImplementMyBusinessLogicService : IMyBusinessLogicService
所以 WebApiController 将使用 ImplementingPrimaryAdapter 提供的实现,而不是我的域中的东西?我不明白
请解释一下。
【问题讨论】:
标签: design-patterns architecture domain-driven-design software-design hexagonal-architecture