什么是Hexagon设计模式

33 design-patterns

我一直在看这个https://plus.google.com/events/ci2g23mk0lh9too9bgbp3rbut0k

他们提到了一个我不熟悉的术语

Hexagon的设计模式是什么?

Sha*_*ler 32

来自http://alistair.cockburn.us/Hexagonal+architecturehttps://github.com/jschairb/sandbox/wiki/HexagonalArchitecture

六边形体系结构是一种体系结构,通过在应用程序域周围建立边界并为输入/输出交互建立适配器来定义.通过建立这个隔离层,应用程序就不会意识到它与之交互的东西的性质.

无需UI或数据库即可创建应用程序,以便您可以对应用程序运行自动回归测试,在数据库不可用时工作,并将应用程序链接在一起而无需任何用户参与. - Alistair Cockburn

  • 呵呵.我认为它与六边形有关.我想,这表明[命名事物是编程中最难的部分](http://martinfowler.com/bliki/TwoHardThings.html). (8认同)
  • 链接页面上的图表确实有6个方面,但没有理由他们有6个方面,而不是他们这样绘制的事实.文档讨论了建立端口和接口,图表显示每个端口/接口占据封闭多边形的一个面.但是,参与最多的图表仅显示四个使用的面.它可能被命名为"五角形建筑"或"七边形建筑",唯一观察到的变化将是更多的人质疑为什么这个数字很重要. (3认同)
  • “六边形不是六边形,因为数字 6 很重要,而是让绘图人员有空间根据需要插入端口和适配器,而不受一维分层绘图的限制。” (2认同)

Kar*_*rik 11

你在提到六角形设计模式吗?

六角形设计图案的意图

允许应用程序同样由用户,程序,自动化测试或批处理脚本驱动,并与最终的运行时设备和数据库隔离开发和测试.

当事件从外部世界到达端口时,特定于技术的适配器会将其转换为可用的过程调用或消息,并将其传递给应用程序.该应用程序对输入设备的性质一无所知.当应用程序发送内容时,它会通过端口将其发送到适配器,从而创建接收技术(人工或自动)所需的适当信号.该应用程序与其所有侧面的适配器进行语义上的声音交互,而实际上并不知道适配器另一侧的物体的性质.

在这里阅读更多相关信息

这篇文章的备份版本:https://staging.cockburn.us/hexagonal-architecture/