我已经阅读了几篇博客和stackoverflow,我发现六角形(端口和适配器)模式是一种很好的域驱动架构。是否存在SEO,性能和其他问题......
答案 0 :(得分:4)
由于Hexagonal使用了Adapter和Façade模式,你可以考虑这些模式的缺点:
两种模式都使用间接(解耦),因此中间类可能会影响性能。当然,在服务的开始和结束之间将进行一次额外的呼叫。有额外的代码行,额外的类,因此额外的复杂性和额外的努力来理解设计。
适配器传统上是多态的(在OO中),因此多态调用可能更难理解和调试。还有(技术上)性能问题(多态调用也是隐藏的间接)。
外墙有臃肿的风险。如果你的系统有很多功能,那么几个较小的立面比一个“神”立面更好。但是,当您重构Façades以使它们更具凝聚力时,调用façade的代码也需要更改。如果您的应用程序的功能发展不多,那么这可能不是一个很大的风险。
答案 1 :(得分:1)
六边形体系结构可帮助您分离域和基础架构层,因此您可以轻松地替换基础架构的某些部分,甚至不会注意到域层。在示例中,您可以将基于WEB的UI更改为独立或将持久性存储从MySQL切换到redis,并且您不必更改域层中的任何内容。
六角形结构不能保护您免受性能问题的影响,您必须自己处理它。