对于如何配置和构造符合同时支持多个(驱动)适配器的六角结构的应用程序,我正在寻找一些指导或最佳实践。
我的API /应用程序层/端口表示应用程序的边界。我现在正在编写驱动程序适配器,目标是应用程序同时支持控制台/ CLI适配器和REST适配器。
有人对配置和连接应用程序的主要组件的方法有任何想法吗?
如果任何人有任何的例子,他们可以分享,这将是有趣的看到。
干杯,
史蒂夫
发布于 2019-10-22 16:55:47
这是一个有趣的问题。
在我看来,试图忠实于作者解释的模式,虽然为一个驱动端口运行多个驱动程序适配器也是可行的,但“应用程序作为一个整体”(我们称其为系统,因为该应用是六边形)是--一个在六边形的每个驱动端口上运行的驱动适配器的实例,以及一个实现每个驱动端口的驱动适配器的实例。
系统的配置是为每个端口选择的适配器。在运行主组件时,必须为每个端口指定所需的适配器。
尽管如此,为了运行该系统,我研究了两种方法:
(1)有一个附加组件(命名为主组件、组合根、启动、init或任何您想要的组件)实例化驱动适配器和六边形,最后实例化驱动适配器并运行它们。这样,系统架构看起来就像驱动端的应用程序容器,而驱动端则是插件架构。
(2) 在自己的上运行每个驱动程序适配器。驱动程序适配器开始游戏,向六角请求一个驱动端口实例,而六边形将向每个驱动端口请求一个驱动适配器实例。
关于示例中的主要组件的问题,根据我的方法(1),我将运行两个六边形实例,但您可能只有一个,我不认为有任何问题。
我在https://softwarecampament.wordpress.com/portsadapters/上写了一篇关于六角形架构的理论性文章,现在我正在写一篇关于如何实现六角形架构的文章,以及一个代码示例。
https://stackoverflow.com/questions/58486038
复制相似问题