gpt4 book ai didi

ruby-on-rails - rails : How do I make my rails project a Hexagonal rails project?

转载 作者:行者123 更新时间:2023-12-04 03:39:38 28 4
gpt4 key购买 nike

我昨天参加了一个关于扩展 Rails 的聚会,其中一个主题是 Hexagonal Rails。然而,我只做了一年的 Rails,对 MVC 结构非常满意(也许太舒服了),所以我不太了解适配器和消息队列是什么。

这是一篇关于它的文章:http://victorsavkin.com/post/42542190528/hexagonal-architecture-for-rails-developers

还有一张照片:http://blog.mattwynne.net/wp-content/uploads/2012/06/hexagonal_architecture_sketch.jpg

据我了解,我认为这是关于解耦各个部分,以便专门过滤操作并将其传递到应用程序的某些位置,而不是为所有内容配备一个中央“路由器”。我认为这会最大限度地减少 ActiveRecord 的使用和大量模块的创建?我对此很困惑,所以我有几个问题:

  • 为了使我的项目成为 Hexagonal Rails 项目,我将这些模块放在哪里(什么文件夹?我要创建一个特定名称的新文件夹吗?)
  • 这更多是为了内部维护吗?为了安全?

  • 据我所知,如果 Rails 应用程序变得太大,您不能将某些部分拆分为另一个应用程序(我相信它被称为面向服务的架构吗?)然后从您的主应用程序向它发出请求?或者,如果流量太重,也可以使用负载均衡器 + 多台服务器。

    最佳答案

    您链接的 Victor Savkin 帖子说得好:

    The hexagonal architecture helps separate the application from the delivery mechanism.



    我的理解是,Hexagonal Architecture 的根源在于 Rails 只是您实际应用程序的“交付机制”(可能是众多机制之一)。
    这是一种尝试将您的应用程序与 Rails 隔离开来,并且远远超出了人们在使用引擎将应用程序拆分为更小的部分时所做的事情。

    DHH(Rails 的创建者)将 Hex 架构视为“ TDD induced design damage”,并且有一个 series of talks与 TDD 的创建者 (Kent Beck) 和 Martin Fowler 一起,您绝对应该观看。

    我对你的问题的回答是:不要。关于六边形架构的对话现在正在发生。除非您迫切需要将应用程序代码与 Rails 分开,否则我建议您观看讨论并等到尘埃落定,看看这一切会产生什么结果。

    关于ruby-on-rails - rails : How do I make my rails project a Hexagonal rails project?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20011130/

    28 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com