Upgrade to Pro — share decks privately, control downloads, hide ads and more …

[GURU-SP] Arquitetura Hexagonal

[GURU-SP] Arquitetura Hexagonal

Todo mundo fica frustrado quando demora muito mais do que deveria para entregar uma feature que era pra ser simples. É aí que surge a Arquitetura Hexagonal, também conhecida como Ports & Adapters, cujo objetivo é minimizar o trabalho de criar ou fazer modificações em um software. Essa talk apresenta o que é essa arquitetura, por que ela existe e como ela funciona, passando por todo o caminho que um recurso faz no software, desde seu ponto de entrada.

Avatar for Camila Campos

Camila Campos

June 09, 2018
Tweet

More Decks by Camila Campos

Other Decks in Technology

Transcript

  1. @camposmilaa Plataforma online Empréstimo com garantia Juros baixos pra você

    <3 creditas.com.br @CreditasBR vagas.creditas.com.br
  2. @camposmilaa Projeto maravilhindo Inserir mulheres em TI Workshop de Rails

    Inspiração railsgirls.com.br fb.com/railsgirls.sp twitter.com/railsgirlssp
  3. @camposmilaa independente de frameworks independente de ui independente de banco

    de dados independente de agentes externos facilmente testável
  4. @camposmilaa criar pedido DADOS DE ENTRADA - dados do cliente

    - endereço de entrega - dados de pagamento FLUXO 1. cliente pede para criar pedido com os dados acima 2. sistema valida os dados 3. sistema cria pedido e determina id do pedido 4. sistema devolve o id do pedido para o cliente
  5. @camposmilaa princípio da inversão de dependência presenter controller use case

    interactor fluxo de controle use case output port use case input port I I
  6. @camposmilaa user requests resource request model controller entity entity aggregate

    entity entity use case domain service repository database persistência
  7. @camposmilaa user requests resource request model controller entity entity aggregate

    entity entity use case domain service repository database persistência dip
  8. @camposmilaa user requests resource request model controller entity entity aggregate

    entity entity result model use case domain service repository database tradução
  9. @camposmilaa user requests resource request model controller entity entity aggregate

    entity entity result model use case domain service presenter repository database result model
  10. @camposmilaa user requests resource request model controller entity entity aggregate

    entity entity result model use case domain service presenter repository database result model dip
  11. @camposmilaa user requests resource user gets resource back request model

    controller entity entity aggregate entity entity result model use case domain service presenter repository database json