六角形建筑的缺点

时间:2015-04-11 09:38:42

标签: ruby-on-rails design-patterns architecture adapter

我已经阅读了几篇博客和stackoverflow,我发现六角形(端口和适配器)模式是一种很好的域驱动架构。是否存在SEO,性能和其他问题......

2 个答案:

答案 0 :(得分:4)

由于Hexagonal使用了Adapter和Façade模式,你可以考虑这些模式的缺点:

  • 两种模式都使用间接(解耦),因此中间类可能会影响性能。当然,在服务的开始和结束之间将进行一次额外的呼叫。有额外的代码行,额外的类,因此额外的复杂性和额外的努力来理解设计。

  • 适配器传统上是多态的(在OO中),因此多态调用可能更难理解和调试。还有(技术上)性能问题(多态调用也是隐藏的间接)。

  • 外墙有臃肿的风险。如果你的系统有很多功能,那么几个较小的立面比一个“神”立面更好。但是,当您重构Façades以使它们更具凝聚力时,调用façade的代码也需要更改。如果您的应用程序的功能发展不多,那么这可能不是一个很大的风险。

答案 1 :(得分:1)

六边形体系结构可帮助您分离域和基础架构层,因此您可以轻松地替换基础架构的某些部分,甚至不会注意到域层。在示例中,您可以将基于WEB的UI更改为独立或将持久性存储从MySQL切换到redis,并且您不必更改域层中的任何内容。

六角形结构不能保护您免受性能问题的影响,您必须自己处理它。