ruby-on-rails - 六边形架构的缺点

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

我读过几篇博客和 stackoverflow,我发现六边形(端口和适配器)模式是一种很好的领域驱动架构。是否有任何问题,如 SEO、性能和其他东西...

最佳答案

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

  • 两种模式都使用间接(解耦),因此性能可能会因为中间类而受到影响。当然,在服务的开始和结束之间会进行一次额外的调用。有额外的代码行、额外的类,因此需要额外的复杂性和额外的努力来理解设计。
  • 适配器传统上是多态的(在 OO 中),因此多态调用可能更难理解和调试。还有(技术上)性能问题(多态调用也是隐藏的间接调用)。
  • 外墙有变得臃肿的风险。如果您的系统有很多功能,那么几个较小的外观比一个“神”外观要好。但是,当您重构 Façade 以使其更具凝聚力时,调用该 Façade 的代码也需要更改。如果您的应用程序的功能没有太大的发展,那么这可能不是一个很大的风险。
  • 关于ruby-on-rails - 六边形架构的缺点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29576344/

    相关文章:

    database-design - ElasticSearch:对于相同的映射定义,具有不同索引的利弊

    javascript - Morris.js 创建图形数据属性 [rails4]

    ruby-on-rails - Rails actiontext/trix 显示问题

    jquery - jQuery 对 ruby​​ on Rails 中的部分数据执行的默认操作

    design-patterns - 在 apache beam 中调用外部 API 的更好方法

    java - 游戏开发 - 抽象技能/天赋系统实现

    mysql - 连接子句中的 Rails ActiveRecord 转义变量

    c++ - 从头开始设计业务消息解析器/重写

    javascript - 显示模块模式 : Where to insert variables for module access

    .net - ExpandoObject 到静态对象,然后再返回。跨越两个域