Trilhos: Como faço o meu projeto Rails um projeto Hexagonal Rails?
-
20-12-2019 - |
Pergunta
Eu participei de um encontro de ontem em escalar trilhos, e um tópico era trilhos hexagonais. No entanto, eu só tenho feito trilhos por um ano, e sou muito confortável (talvez muito confortável) com a estrutura do MVC, então eu realmente não entendo qual adaptador e fila de mensagens são.
Aqui está um artigo sobre ele: http://victorsavkin.com/ Post / 42542190528 / Hexagonal-Architecture-for-Rails-Developers
e uma foto: http://blog.mattwynne. Net / WP-Conteúdo / Upload / 2012/06 / Hexagonal_Architecture_sketch.jpg
Para minha compreensão, acho que é sobre desacoplar as partes para que as ações sejam especificamente filtradas e passadas para certos locais de sua aplicação, em vez de ter um "roteador" central para tudo. Acho que isso resulta em minimizar o uso do ActiveSecord e a criação de um monte de módulos? Eu estou muito perplexo por isso, então eu tenho algumas perguntas:
- .
-
Para tornar o meu projeto um projeto de trilhos hexagonais, onde exatamente eu coloco esses módulos (qual pasta? Eu crio uma nova pasta de um nome específico?)
-
é mais para a manutenção interna? Para segurança?
Do que eu sei, se um aplicativo de trilhos ficará muito grande, você pode simplesmente dividir certas partes em outro aplicativo (eu acredito que é chamado de arquitetura orientada a serviços?) E basta fazer solicitações a partir do seu aplicativo principal? Ou talvez use um balanceador de carga + vários servidores se o tráfego ficar muito pesado.
Solução
O Victor Savkkin Post você está ligado para colocá-lo bem:
.A arquitetura hexagonal ajuda a separar o pedido do mecanismo de entrega.
Meu entendimento é que a arquitetura hexagonal tem suas raízes na visão dos trilhos como apenas um "mecanismo de entrega" (possivelmente um dos muitos) para sua aplicação real. É uma tentativa de isolar seu aplicativo de trilhos e vai além do que as pessoas estão tentando fazer quando estão apenas dividindo um aplicativo em pedaços menores com motores.
dhh (o criador de trilhos) vê a arquitetura hexadecimal como " Danos induzidos por TDD " e tem havido um série de palestras Com o Criador do TDD (Kent Beck) e Martin Fowler que você definitivamente deveria assistir.
Minha resposta à sua pergunta seria: não. A conversa sobre arquitetura hexagonal está acontecendo agora. A menos que você tenha alguma necessidade de queimação de separar seu código de aplicativo de trilhos, sugiro que você assista as palestras e espere até que a poeira se instale para ver o que sai de tudo isso.