{"id":3623,"date":"2023-06-13T13:29:49","date_gmt":"2023-06-13T13:29:49","guid":{"rendered":"http:\/\/the-codest.localhost\/blog\/the-power-of-hexagonal-architecture\/"},"modified":"2024-09-10T07:51:21","modified_gmt":"2024-09-10T07:51:21","slug":"o-poder-da-arquitetura-hexagonal","status":"publish","type":"post","link":"https:\/\/thecodest.co\/pt\/blog\/the-power-of-hexagonal-architecture\/","title":{"rendered":"O poder da arquitetura hexagonal"},"content":{"rendered":"<p>Neste guia completo, vamos aprofundar as nuances de <strong>Arquitetura Hexagonal<\/strong>explorando a sua defini\u00e7\u00e3o, componentes e hist\u00f3ria. Estabeleceremos compara\u00e7\u00f5es entre <strong>Arquitetura Hexagonal<\/strong> e outros padr\u00f5es arquitect\u00f3nicos populares para real\u00e7ar os seus pontos fortes \u00fanicos. Al\u00e9m disso, examinaremos o seu papel fundamental na conce\u00e7\u00e3o orientada para o dom\u00ednio (DDD) e <a href=\"https:\/\/thecodest.co\/pt\/dictionary\/microservices\/\">microsservi\u00e7os<\/a>que s\u00e3o cada vez mais importantes no mundo moderno <a href=\"https:\/\/thecodest.co\/pt\/blog\/8-key-questions-to-ask-your-software-development-outsourcing-partner\/\">desenvolvimento de software<\/a>.<\/p>\n<h2>1. Introdu\u00e7\u00e3o \u00e0 Arquitetura Hexagonal<\/h2>\n<p>Na paisagem din\u00e2mica do<strong> <a href=\"https:\/\/thecodest.co\/pt\/dictionary\/software-architecture\/\">arquitetura de software<\/a><\/strong>, <strong>Arquitetura Hexagonal<\/strong>, tamb\u00e9m conhecido por Portos e <strong>Padr\u00e3o de adaptadores<\/strong>A Uni\u00e3o Europeia, que se tornou um candidato formid\u00e1vel, tem vindo a desafiar progressivamente as normas de <strong>arquitetura tradicional em camadas<\/strong>.<\/p>\n<p>Impulsionada pela necessidade de uma conce\u00e7\u00e3o arquitet\u00f3nica que pudesse garantir testes f\u00e1ceis e uma maior facilidade de manuten\u00e7\u00e3o, <strong>Arquitetura Hexagonal<\/strong> foi concebido. A sua miss\u00e3o: fornecer servi\u00e7os robustos <strong>aplica\u00e7\u00f5es inform\u00e1ticas<\/strong> livre das complexidades e inconst\u00e2ncias do mundo exterior.<\/p>\n<p>Ao longo deste artigo, vamos embarcar numa viagem pelos anais da <strong>Arquitetura Hexagonal<\/strong> - uma arquitetura que se situa no nexo entre simplicidade e poder. Iremos desvendar a sua hist\u00f3ria, estrutura e princ\u00edpios, e compar\u00e1-la com outras <strong>padr\u00f5es arquitect\u00f3nicos<\/strong>. Examinaremos o seu potencial para elevar a qualidade das aplica\u00e7\u00f5es de software e reduzir a mar\u00e9 crescente de d\u00edvidas t\u00e9cnicas que atormenta a ind\u00fastria do software.<\/p>\n<h2>2. Defini\u00e7\u00e3o de Arquitetura Hexagonal<\/h2>\n<p>No fundo, <strong>Arquitetura Hexagonal<\/strong>, ou os Portos e <strong>Arquitetura dos adaptadores<\/strong>\u00e9 um padr\u00e3o de design baseado na segrega\u00e7\u00e3o de preocupa\u00e7\u00f5es. Divide uma aplica\u00e7\u00e3o em duas sec\u00e7\u00f5es principais: a interna e a externa.<\/p>\n<p>O interior, tamb\u00e9m designado por n\u00facleo da aplica\u00e7\u00e3o, aloja o <strong>l\u00f3gica empresarial<\/strong> e objectos de dom\u00ednio - o n\u00facleo de valor do seu software. Este santu\u00e1rio interno permanece separado de influ\u00eancias externas, preservando assim a integridade do <strong>l\u00f3gica empresarial<\/strong> e o modelo do dom\u00ednio.<\/p>\n<p>O exterior, por outro lado, \u00e9 o dom\u00ednio dos sistemas externos - do <strong>interface do utilizador<\/strong> ao acesso \u00e0 base de dados - que interagem com o n\u00facleo da aplica\u00e7\u00e3o. Estas intera\u00e7\u00f5es s\u00e3o geridas atrav\u00e9s de um mecanismo de portas e adaptadores, assegurando uma separa\u00e7\u00e3o clara entre o <strong>n\u00facleo da aplica\u00e7\u00e3o<\/strong> e os seus actores externos.<\/p>\n<h2>3. Hist\u00f3ria da Arquitetura Hexagonal<\/h2>\n<p><strong>Arquitetura Hexagonal<\/strong> \u00e9 uma cria\u00e7\u00e3o de Alistair Cockburn, um vision\u00e1rio que articulou pela primeira vez este conceito como uma resposta \u00e0s limita\u00e7\u00f5es da <strong>arquitetura em camadas<\/strong>. Foi concebido para criar um sistema de <strong>camada de dom\u00ednio<\/strong> que isola o n\u00facleo <strong>l\u00f3gica empresarial<\/strong> de influ\u00eancias externas, como o <strong>interface do utilizador <a href=\"https:\/\/thecodest.co\/pt\/dictionary\/what-is-code-refactoring\/\">c\u00f3digo<\/a><\/strong> e acesso \u00e0 base de dados.<\/p>\n<p>No tradicional <strong>arquitetura em camadas<\/strong>Por exemplo, as altera\u00e7\u00f5es numa camada podiam repercutir-se noutras camadas, levando a consequ\u00eancias indesejadas. Al\u00e9m disso, os testes eram complicados devido \u00e0s complexas depend\u00eancias entre camadas.<\/p>\n<p><strong>Arquitetura Hexagonal<\/strong> surgiu como uma solu\u00e7\u00e3o, oferecendo um modelo em que as altera\u00e7\u00f5es numa parte do sistema n\u00e3o perturbariam as outras partes. Essencialmente, procurou tornar o <strong>l\u00f3gica empresarial<\/strong> independente do facto de estar a ser acedido atrav\u00e9s de um <a href=\"https:\/\/thecodest.co\/pt\/blog\/find-your-ideal-stack-for-web-development\/\">web<\/a> interface, um <strong>REST <a href=\"https:\/\/thecodest.co\/pt\/blog\/compare-staff-augmentation-firms-that-excel-in-api-team-staffing-for-financial-technology-projects\/\">API<\/a><\/strong>, ou mesmo um <strong>linha de comando<\/strong>.<\/p>\n<h2>4. Componentes da arquitetura hexagonal<\/h2>\n<p><strong>Arquitetura Hexagonal<\/strong>O sistema de gest\u00e3o de riscos, designado pela sua ilus\u00e3o hexagonal nas representa\u00e7\u00f5es esquem\u00e1ticas, inclui tr\u00eas componentes principais: o <strong>modelo de dom\u00ednio<\/strong>portas (prim\u00e1ria e secund\u00e1ria) e adaptadores (prim\u00e1ria e secund\u00e1ria).<\/p>\n<p>O<strong> modelo de dom\u00ednio<\/strong> \u00e9 o cora\u00e7\u00e3o da aplica\u00e7\u00e3o de software, encapsulando o <strong>regras de neg\u00f3cio<\/strong> e a l\u00f3gica central. Os objectos de dom\u00ednio que residem neste modelo cont\u00eam valores e regras comerciais espec\u00edficos.<\/p>\n<p>De seguida, temos as portas, condutas entre os <strong>modelo de dom\u00ednio<\/strong> e o mundo exterior. <strong>Portos prim\u00e1rios<\/strong> exp\u00f5em o <strong>l\u00f3gica empresarial<\/strong>Os utilizadores s\u00e3o os utilizadores que representam os casos de utiliza\u00e7\u00e3o que a aplica\u00e7\u00e3o suporta. Representam os casos de utiliza\u00e7\u00e3o que a aplica\u00e7\u00e3o suporta.<\/p>\n<p><strong>Portos secund\u00e1rios<\/strong>por outro lado, est\u00e3o virados para o exterior. Representam interfaces que a aplica\u00e7\u00e3o requer do mundo exterior, como camadas de persist\u00eancia ou servi\u00e7os externos.<\/p>\n<p>Por \u00faltimo, temos os adaptadores, que actuam como tradutores entre o <strong>modelo de dom\u00ednio<\/strong> e o mundo exterior. Convertem <a href=\"https:\/\/thecodest.co\/pt\/blog\/app-data-collection-security-risks-value-and-types-explored\/\">dados<\/a> do formato utilizado pelo <strong>sistemas externos<\/strong> para o formato utilizado pelo <strong>l\u00f3gica empresarial<\/strong>e vice-versa.<\/p>\n<h2>5. Portas e adaptadores<\/h2>\n<p><strong>Portas e adaptadores<\/strong> formam a ponte entre o <strong>n\u00facleo da aplica\u00e7\u00e3o<\/strong> e os actores externos. As portas prim\u00e1rias representam os casos de utiliza\u00e7\u00e3o comercial que a aplica\u00e7\u00e3o exp\u00f5e, permitindo que os actores externos interajam com a aplica\u00e7\u00e3o. Pense nelas como as interfaces de servi\u00e7o no seu <strong>camada empresarial<\/strong>.<\/p>\n<p>As portas secund\u00e1rias, por outro lado, s\u00e3o interfaces exigidas pela sua aplica\u00e7\u00e3o a partir do mundo exterior. Podem ser servi\u00e7os como o acesso \u00e0 base de dados, <a href=\"https:\/\/thecodest.co\/pt\/dictionary\/web-services\/\">servi\u00e7os web<\/a>ou mesmo servi\u00e7os temporais. Exp\u00f5em o que \u00e9 necess\u00e1rio para a aplica\u00e7\u00e3o, independentemente de qualquer tecnologia ou carater\u00edsticas espec\u00edficas do fornecedor.<\/p>\n<p>Os adaptadores s\u00e3o as manifesta\u00e7\u00f5es f\u00edsicas destas portas. Eles traduzem os dados do formato utilizado pelo <strong>l\u00f3gica empresarial<\/strong> para o formato utilizado pelos actores externos e vice-versa. Esses adaptadores podem ser conversores de adaptadores espec\u00edficos da tecnologia para APIs REST, bases de dados SQL ou sistemas de mensagens, mas tamb\u00e9m podem ser scripts em lote ou <strong>interface do utilizador<\/strong> c\u00f3digo. Os adaptadores formam o limite da aplica\u00e7\u00e3o, permitindo que a aplica\u00e7\u00e3o seja independente da tecnologia.<\/p>\n<h2>6. Portas e adaptadores prim\u00e1rios e secund\u00e1rios<\/h2>\n<p>As portas prim\u00e1rias representam as opera\u00e7\u00f5es que a nossa aplica\u00e7\u00e3o pode efetuar - os comandos que o nosso dom\u00ednio principal pode aceitar. Eles s\u00e3o frequentemente implementados como interfaces em linguagens como <a href=\"https:\/\/thecodest.co\/pt\/blog\/top-programming-languages-to-build-e-commerce\/\">Java<\/a>A aplica\u00e7\u00e3o \u00e9 um ficheiro que define as opera\u00e7\u00f5es que a aplica\u00e7\u00e3o oferece.<strong>Adaptadores prim\u00e1rios<\/strong>s\u00e3o, portanto, as implementa\u00e7\u00f5es destas interfaces para actores externos espec\u00edficos.<\/p>\n<p>Por outro lado, as portas secund\u00e1rias s\u00e3o interfaces que o dom\u00ednio principal utiliza para interagir com o mundo exterior. Estas podem incluir interfaces para persistir objectos de dom\u00ednio ou enviar notifica\u00e7\u00f5es. <strong>Adaptadores secund\u00e1rios<\/strong> s\u00e3o as implementa\u00e7\u00f5es efectivas destas interfaces - uma <strong>Base de dados SQL<\/strong> ou um adaptador de notifica\u00e7\u00e3o por correio eletr\u00f3nico, por exemplo.<\/p>\n<p>Juntos, os <strong>portas e adaptadores prim\u00e1rios e secund\u00e1rios<\/strong> formam um limite flex\u00edvel e modular em torno da aplica\u00e7\u00e3o, separando o <strong>l\u00f3gica de dom\u00ednio<\/strong> de preocupa\u00e7\u00f5es t\u00e9cnicas. Imp\u00f5em uma separa\u00e7\u00e3o clara de responsabilidades e permitem que diferentes partes do sistema evoluam de forma independente.<\/p>\n<h2>7. Regra de depend\u00eancia e invers\u00e3o de depend\u00eancia<\/h2>\n<p>A regra da depend\u00eancia \u00e9 um princ\u00edpio fundamental na <strong>Arquitetura Hexagonal<\/strong> que afirma que as depend\u00eancias devem apontar para dentro, para o n\u00facleo da aplica\u00e7\u00e3o. O n\u00facleo da aplica\u00e7\u00e3o n\u00e3o depende de nenhuma base de dados, interface do utilizador ou qualquer outra ag\u00eancia externa em particular.<\/p>\n<p>Este princ\u00edpio est\u00e1 estreitamente ligado ao princ\u00edpio <strong>Princ\u00edpio da invers\u00e3o de depend\u00eancia<\/strong> (DIP), um dos princ\u00edpios SOLID da conce\u00e7\u00e3o orientada para os objectos. O DIP estabelece que os m\u00f3dulos de alto n\u00edvel (<strong>l\u00f3gica empresarial<\/strong> ou <strong>camada de dom\u00ednio<\/strong> n\u00e3o devem depender de m\u00f3dulos de baixo n\u00edvel (como o adaptador de base de dados). Em vez disso, ambos devem depender de abstrac\u00e7\u00f5es. Esta invers\u00e3o de depend\u00eancias permite que os m\u00f3dulos de alto n\u00edvel sejam isolados das altera\u00e7\u00f5es nos m\u00f3dulos de baixo n\u00edvel, promovendo uma conce\u00e7\u00e3o em que o <strong>l\u00f3gica empresarial<\/strong> impulsiona a arquitetura global.<\/p>\n<h2>8. Mapeamento<\/h2>\n<p>O mapeamento \u00e9 um processo essencial para <strong>Arquitetura Hexagonal<\/strong>em que um adaptador espec\u00edfico da tecnologia converte os dados do formato utilizado por <strong>sistemas externos<\/strong> para um formato que o nosso <strong>camada de dom\u00ednio<\/strong> pode compreender. Este mapeamento facilita a tradu\u00e7\u00e3o entre as representa\u00e7\u00f5es internas e externas dos dados da aplica\u00e7\u00e3o.<\/p>\n<p>Por exemplo, quando um pedido HTTP chega \u00e0 nossa aplica\u00e7\u00e3o a partir de uma interface externa como um <strong>API REST<\/strong>Para que os dados do pedido sejam traduzidos de JSON para objectos de dom\u00ednio que a aplica\u00e7\u00e3o possa utilizar. Esta tradu\u00e7\u00e3o \u00e9 da responsabilidade dos adaptadores.<\/p>\n<p>Por outro lado, quando a aplica\u00e7\u00e3o precisa de enviar uma resposta, os adaptadores convertem os objectos de dom\u00ednio novamente em JSON. Isto permite que a aplica\u00e7\u00e3o central permane\u00e7a ignorante das especificidades do mundo externo, garantindo ao mesmo tempo que pode interpretar corretamente os dados de entrada e formatar os dados de sa\u00edda. <\/p>\n<h2>9. Vantagens da arquitetura hexagonal<\/h2>\n<p><strong>Arquitetura Hexagonal<\/strong> oferece uma grande variedade de benef\u00edcios, que podem ser atribu\u00eddos em grande parte \u00e0 dissocia\u00e7\u00e3o das aplica\u00e7\u00f5es de software dos seus elementos externos e \u00e0 clara delimita\u00e7\u00e3o entre as diferentes partes de um sistema.<\/p>\n<p>Um dos benef\u00edcios fundamentais \u00e9 a separa\u00e7\u00e3o de preocupa\u00e7\u00f5es, promovendo a manuten\u00e7\u00e3o e a legibilidade do c\u00f3digo. A dissocia\u00e7\u00e3o do n\u00facleo <strong>l\u00f3gica empresarial<\/strong> do <strong>mundo exterior<\/strong> permite altera\u00e7\u00f5es em adaptadores espec\u00edficos da tecnologia, bases de dados e <strong>interfaces de utilizador<\/strong> sem alterar o n\u00facleo <strong>l\u00f3gica empresarial<\/strong>.<\/p>\n<p><strong>Arquitetura Hexagonal<\/strong> tamb\u00e9m se destaca no dom\u00ednio da testabilidade. O isolamento de depend\u00eancias externas da arquitetura permite que os programadores executem testes de regress\u00e3o automatizados e escrevam <strong>conjuntos de testes automatizados<\/strong> mais facilmente. Este isolamento aumenta a resili\u00eancia da aplica\u00e7\u00e3o, uma vez que as altera\u00e7\u00f5es num componente n\u00e3o ter\u00e3o um impacto negativo nos outros.<\/p>\n<p>Al\u00e9m disso, a arquitetura suporta v\u00e1rios adaptadores para a mesma porta, abrindo a porta a v\u00e1rios adaptadores para a mesma porta secund\u00e1ria. Esta flexibilidade permite que a aplica\u00e7\u00e3o interaja com diferentes tipos de bases de dados ou suporte v\u00e1rios <strong>interface do utilizador<\/strong> plataformas.<\/p>\n<h2>10. Manuten\u00e7\u00e3o<\/h2>\n<p>No dom\u00ednio do desenvolvimento de software, a capacidade de manuten\u00e7\u00e3o \u00e9 muitas vezes uma carater\u00edstica procurada, mas que os estilos de arquitetura tradicionais podem ter dificuldade em oferecer. <strong>Arquitetura Hexagonal<\/strong> destaca-se aqui pela sua forte \u00eanfase na facilidade de manuten\u00e7\u00e3o.<\/p>\n<p>Ao centrar-se na separa\u00e7\u00e3o das preocupa\u00e7\u00f5es, <strong>Arquitetura Hexagonal<\/strong> garante que as altera\u00e7\u00f5es efectuadas numa parte da aplica\u00e7\u00e3o n\u00e3o se repercutem noutras partes. Esta carater\u00edstica ajuda a reduzir o tempo e o esfor\u00e7o despendidos na compreens\u00e3o e depura\u00e7\u00e3o do c\u00f3digo.<\/p>\n<p>Al\u00e9m disso, a arquitetura incentiva a reutiliza\u00e7\u00e3o do c\u00f3digo, promovendo uma conce\u00e7\u00e3o em que o n\u00facleo<strong> l\u00f3gica empresarial<\/strong> \u00e9 isolado das tecnologias espec\u00edficas utilizadas para conduzir a aplica\u00e7\u00e3o. Esta dissocia\u00e7\u00e3o permite aos programadores trocar, atualizar ou refactorizar <strong>interfaces externas<\/strong> sem afetar a l\u00f3gica central, reduzindo o risco de introdu\u00e7\u00e3o de erros.<\/p>\n<h2>11. Redu\u00e7\u00e3o da d\u00edvida t\u00e9cnica<\/h2>\n<p>A d\u00edvida t\u00e9cnica, uma preocupa\u00e7\u00e3o significativa no desenvolvimento de software, refere-se ao custo futuro da refac\u00e7\u00e3o e da corre\u00e7\u00e3o de atalhos e hacks no c\u00f3digo. <strong>Arquitetura Hexagonal<\/strong> oferece uma abordagem proactiva para atenuar essa d\u00edvida.<\/p>\n<p>Ao facilitar uma separa\u00e7\u00e3o clara entre as actividades principais <strong>l\u00f3gica empresarial<\/strong> e <strong>componentes externos<\/strong>, <strong>Arquitetura Hexagonal<\/strong> reduz a probabilidade de c\u00f3digo entrela\u00e7ado que pode causar dores de cabe\u00e7a na manuten\u00e7\u00e3o e agravar a d\u00edvida t\u00e9cnica. A capacidade de manuten\u00e7\u00e3o e de teste inerente \u00e0 arquitetura tamb\u00e9m desempenha um papel na redu\u00e7\u00e3o da d\u00edvida t\u00e9cnica, uma vez que ajuda a evitar a introdu\u00e7\u00e3o de erros e facilita os esfor\u00e7os de refac\u00e7\u00e3o.<\/p>\n<p>Al\u00e9m disso, a capacidade de <strong>Arquitetura Hexagonal<\/strong> para suportar altera\u00e7\u00f5es na infraestrutura sem necessidade de altera\u00e7\u00f5es na <strong>l\u00f3gica empresarial<\/strong> fornece uma prote\u00e7\u00e3o contra d\u00edvidas t\u00e9cnicas. Esta capacidade permite \u00e0s equipas adaptarem-se a altera\u00e7\u00f5es nos requisitos ou nas tecnologias sem terem de reescrever grandes partes da aplica\u00e7\u00e3o.<\/p>\n<h2>12. Arquitetura hexagonal na pr\u00e1tica<\/h2>\n<p>Na pr\u00e1tica, <strong>Arquitetura Hexagonal<\/strong> traz uma abordagem estruturada ao desenvolvimento de software. O limite hexagonal em torno da aplica\u00e7\u00e3o principal fornece uma demarca\u00e7\u00e3o clara de onde a aplica\u00e7\u00e3o termina e onde o <strong>mundo exterior<\/strong> come\u00e7a.<\/p>\n<p>Os adaptadores actuam como guardi\u00f5es, traduzindo pedidos de actores externos para uma forma que a aplica\u00e7\u00e3o principal possa compreender, e vice-versa. Ao faz\u00ea-lo, garantem que a aplica\u00e7\u00e3o principal permanece agn\u00f3stica relativamente \u00e0s especificidades do mundo exterior, quer se trate de uma base de dados, de um <strong>API externa<\/strong>, ou um <strong>interface do utilizador<\/strong>.<\/p>\n<h2>13. Conce\u00e7\u00e3o orientada para o dom\u00ednio (DDD)<\/h2>\n<p>O Domain-Driven Design (DDD) \u00e9 uma metodologia de desenvolvimento de software que d\u00e1 prioridade aos conceitos fundamentais da atividade, ou seja, os <strong>l\u00f3gica de dom\u00ednio<\/strong>como a principal for\u00e7a motriz da conce\u00e7\u00e3o. Esta metodologia alinha-se muito bem com <strong>Arquitetura Hexagonal<\/strong>que sublinha igualmente a import\u00e2ncia da <strong>l\u00f3gica empresarial<\/strong> e o <strong>modelo de dom\u00ednio<\/strong> na arquitetura.<\/p>\n<p>No contexto de <strong>Arquitetura Hexagonal<\/strong>O DDD garante que os m\u00f3dulos de alto n\u00edvel da aplica\u00e7\u00e3o - as camadas de dom\u00ednio - s\u00e3o independentes dos elementos externos, como o <strong>interface do utilizador<\/strong> ou a base de dados. Esta independ\u00eancia \u00e9 assegurada pelos portos e adaptadores, que protegem a camada de dom\u00ednio das especificidades do<strong> sistemas externos<\/strong>, permitindo assim que o<strong> l\u00f3gica de dom\u00ednio<\/strong> para evoluir de forma aut\u00f3noma.<\/p>\n<p>Al\u00e9m disso, <strong>Arquitetura Hexagonal<\/strong> complementa os princ\u00edpios de conce\u00e7\u00e3o estrat\u00e9gica do DDD, incluindo o conceito de contextos delimitados. Cada contexto delimitado em DDD pode ser imaginado como um hex\u00e1gono em <strong>Arquitetura Hexagonal<\/strong>com o modelo de dom\u00ednio no seu n\u00facleo e o <strong>portas e adaptadores<\/strong> actuando como limites.<\/p>\n<h2>14. Microsservi\u00e7os<\/h2>\n<p>Os microsservi\u00e7os, outro estilo arquitet\u00f3nico contempor\u00e2neo, podem beneficiar muito com <strong>Arquitetura Hexagonal<\/strong>. A natureza descentralizada dos microsservi\u00e7os - em que cada servi\u00e7o encapsula uma capacidade comercial espec\u00edfica - alinha-se perfeitamente com o encapsulamento de <strong>l\u00f3gica empresarial<\/strong> dentro do n\u00facleo do hex\u00e1gono.<\/p>\n<p>Tal como cada <a href=\"https:\/\/thecodest.co\/pt\/blog\/exploring-microservice-based-frontend-architecture\/\">microservi\u00e7o<\/a> deve ser fracamente acoplado a outros, cada hex\u00e1gono em <strong>Arquitetura Hexagonal<\/strong> tamb\u00e9m est\u00e1 isolado dos outros, comunicando apenas atrav\u00e9s das portas e adaptadores definidos. Isto permite que cada microsservi\u00e7o tenha o seu pr\u00f3prio <strong>arquitetura hexagonal<\/strong>resultando numa cole\u00e7\u00e3o de servi\u00e7os aut\u00f3nomos e fracamente acoplados.<\/p>\n<p>O isolamento proporcionado pela <strong>Arquitetura Hexagonal<\/strong> pode ser particularmente \u00fatil quando se lida com a complexidade e a natureza distribu\u00edda dos microsservi\u00e7os. Ao isolar os <strong>l\u00f3gica empresarial central<\/strong> do mundo exterior, <strong>Arquitetura Hexagonal<\/strong> garante a <strong>l\u00f3gica empresarial<\/strong> permanece intacto, independentemente de altera\u00e7\u00f5es noutros servi\u00e7os ou <strong>sistemas externos<\/strong>.<\/p>\n<h2>15. Compara\u00e7\u00e3o da arquitetura hexagonal com outras arquitecturas<\/h2>\n<p>A forma como o software \u00e9 concebido pode ter um impacto profundo na sua evolu\u00e7\u00e3o ao longo do tempo. Comparando <strong>Arquitetura Hexagonal<\/strong> para outras arquitecturas d\u00e1 <a href=\"https:\/\/thecodest.co\/pt\/blog\/why-us-companies-are-opting-for-polish-developers\/\">n\u00f3s<\/a> uma compreens\u00e3o mais profunda dos seus pontos fortes e das suas potenciais solu\u00e7\u00f5es de compromisso.<\/p>\n<h2>16. Arquitetura hexagonal vs. arquitetura em camadas<\/h2>\n<p><strong>Arquitetura em camadas <\/strong>\u00e9 um produto tradicional <strong>padr\u00e3o arquitet\u00f3nico<\/strong> que estrutura uma aplica\u00e7\u00e3o em camadas l\u00f3gicas - frequentemente camadas de apresenta\u00e7\u00e3o, de neg\u00f3cio e de acesso aos dados. A principal desvantagem deste padr\u00e3o \u00e9 o facto de incentivar uma forte depend\u00eancia entre as camadas, levando a uma situa\u00e7\u00e3o em que as altera\u00e7\u00f5es numa camada podem repercutir-se em toda a aplica\u00e7\u00e3o.<\/p>\n<p>Em contrapartida, <strong>Arquitetura Hexagonal<\/strong> minimiza essas depend\u00eancias. Em vez de camadas, tem um <strong>n\u00facleo da aplica\u00e7\u00e3o<\/strong> rodeado de adaptadores intermut\u00e1veis. As altera\u00e7\u00f5es num servidor de bases de dados, por exemplo, s\u00f3 afectariam o adaptador correspondente, deixando o <strong>n\u00facleo da aplica\u00e7\u00e3o<\/strong> e outros adaptadores intactos.<\/p>\n<h2>17. Arquitetura Hexagonal vs. Arquitetura Limpa<\/h2>\n<p><strong>Arquitetura limpa<\/strong>, outro <strong>padr\u00e3o arquitet\u00f3nico<\/strong>partilha muitas semelhan\u00e7as com <strong>Arquitetura Hexagonal<\/strong>. Ambos enfatizam a separa\u00e7\u00e3o de preocupa\u00e7\u00f5es, t\u00eam como objetivo isolar o n\u00facleo <strong>regras de neg\u00f3cio<\/strong> de pormenores externos, e aderir ao <strong>Princ\u00edpio da invers\u00e3o de depend\u00eancia<\/strong>.<\/p>\n<p>No entanto, <strong>Arquitetura Hexagonal<\/strong> centra-se mais na forma como a aplica\u00e7\u00e3o interage com o <strong>no exterior<\/strong> mundo utilizando portas e adaptadores, enquanto <strong>Arquitetura limpa<\/strong> fornece uma estrutura mais detalhada para as camadas internas da arquitetura. Por outras palavras, <strong>Arquitetura limpa<\/strong> pode ser visto como um superconjunto de <strong>Arquitetura Hexagonal<\/strong>com orienta\u00e7\u00f5es adicionais sobre a organiza\u00e7\u00e3o da estrutura interna da aplica\u00e7\u00e3o.<\/p>\n<h2>18. Arquitetura Hexagonal vs. Arquitetura Onion<\/h2>\n<p><strong>Arquitetura da cebola<\/strong> \u00e9 outro estilo arquitet\u00f3nico que visa isolar o <strong>l\u00f3gica empresarial central<\/strong> do <strong>interfaces externas<\/strong> e infra-estruturas. Tem v\u00e1rios n\u00edveis conc\u00eantricos, com o modelo de dom\u00ednio no centro, e cada n\u00edvel s\u00f3 pode depender dos n\u00edveis que lhe est\u00e3o associados.<\/p>\n<p>Embora partilhem um objetivo comum, a Hexagonal e a <strong>Arquitetura da cebola <\/strong>conseguem-no de formas ligeiramente diferentes. <strong>Arquitetura da cebola<\/strong> coloca muita \u00eanfase na dire\u00e7\u00e3o das depend\u00eancias, assegurando que todas as depend\u00eancias v\u00e3o para dentro. <strong>Arquitetura Hexagonal<\/strong>embora tamb\u00e9m apoie as depend\u00eancias viradas para o interior, coloca uma maior \u00eanfase na intera\u00e7\u00e3o com o <strong>mundo exterior <\/strong>atrav\u00e9s das suas portas e adaptadores.<\/p>\n<h2>19. Ensaios em arquitetura hexagonal<\/h2>\n<p>Um dos principais pontos fortes da<strong> Arquitetura Hexagonal<\/strong> \u00e9 o seu foco na testabilidade. Ao isolar a aplica\u00e7\u00e3o principal da<strong> mundo exterior<\/strong> atrav\u00e9s de portas e adaptadores, a Arquitetura Hexagonal permite a execu\u00e7\u00e3o de <strong>testes automatizados<\/strong> que pode proporcionar confian\u00e7a na estabilidade e corre\u00e7\u00e3o do software.<\/p>\n<p>Num <strong>Arquitetura Hexagonal<\/strong>, o <strong>portos prim\u00e1rios<\/strong>que encapsulam o n\u00facleo <strong>regras de neg\u00f3cio<\/strong>O teste de uma base de dados real pode ser efectuado independentemente do mundo exterior. Por exemplo, em vez de comunicar com uma base de dados real durante o teste, um <strong>adaptador de base de dados<\/strong> pode ser trocado por um teste duplo que simula o comportamento de uma base de dados real. Isto permite que os programadores se concentrem em testar o <strong>regras de neg\u00f3cio<\/strong>em vez da intera\u00e7\u00e3o com a base de dados.<\/p>\n<p>Al\u00e9m disso, <strong>testes de regress\u00e3o automatizados<\/strong> podem ser facilmente constru\u00eddos para validar que o sistema se comporta como esperado quando s\u00e3o feitas altera\u00e7\u00f5es. Este n\u00edvel de testabilidade \u00e9 uma vantagem significativa quando se trata de manter e atualizar software, uma vez que ajuda a detetar e corrigir problemas numa fase inicial do processo. <a href=\"https:\/\/thecodest.co\/pt\/blog\/how-the-codests-team-extension-model-can-transform-your-in-house-development-team\/\">processo de desenvolvimento<\/a>.<\/p>\n<p>Al\u00e9m disso, a estrutura de<strong> Arquitetura Hexagonal<\/strong> tamb\u00e9m suporta testes de integra\u00e7\u00e3o. Ao substituir o <strong>componentes externos<\/strong> (como um servidor de base de dados ou um <strong>API externa<\/strong>) com duplos de teste, os programadores podem testar como o <strong>n\u00facleo da aplica\u00e7\u00e3o<\/strong> integra-se com estes componentes sem ter de utilizar os sistemas externos actuais. Isto pode melhorar significativamente a velocidade e a fiabilidade dos testes.<\/p>\n<h2> Conclus\u00e3o<\/h2>\n<p><strong>Arquitetura Hexagonal<\/strong> surge como uma solu\u00e7\u00e3o aliciante no vasto leque de estrat\u00e9gias de desenvolvimento de software. Distingue-se pelo facto de dissociar o <strong>n\u00facleo da aplica\u00e7\u00e3o<\/strong> do ambiente externo, garantindo assim um elevado grau de manuten\u00e7\u00e3o, testabilidade e flexibilidade. Esta separa\u00e7\u00e3o facilita aos programadores a concentra\u00e7\u00e3o no n\u00facleo <strong>l\u00f3gica empresarial<\/strong>e, simultaneamente, refor\u00e7ar a capacidade de resist\u00eancia do software face a altera\u00e7\u00f5es na <strong>sistemas externos<\/strong>.<\/p>\n<p>Embora existam compensa\u00e7\u00f5es associadas \u00e0 Arquitetura Hexagonal, a sua multiplicidade de benef\u00edcios torna-a um ativo altamente valioso para a caixa de ferramentas de qualquer programador. No dom\u00ednio da <strong>arquitetura de software<\/strong>O modelo hexagonal continua a afirmar o seu dom\u00ednio.<\/p>\n<p>Este artigo, salpicado de <strong>exemplos de c\u00f3digo<\/strong>tem por objetivo proporcionar uma compreens\u00e3o aprofundada de <strong>Arquitetura Hexagonal<\/strong> e os seus potenciais benef\u00edcios. N\u00e3o se esque\u00e7a de que o segredo de uma arquitetura eficaz n\u00e3o reside na ades\u00e3o cega a padr\u00f5es, mas sim na compreens\u00e3o dos princ\u00edpios subjacentes e na sua implementa\u00e7\u00e3o ponderada para satisfazer requisitos espec\u00edficos.<\/p>\n<p>No dom\u00ednio da Arquitetura Hexagonal, a interface definida entre os <strong>camada de aplica\u00e7\u00e3o<\/strong> e o <strong>camada de dados<\/strong> \u00e9 de extrema import\u00e2ncia. Quer se trate de um <a href=\"https:\/\/thecodest.co\/pt\/dictionary\/what-is-a-software-architect\/\">arquiteto de software<\/a> que tenciona adotar esta metodologia, ou um <a href=\"https:\/\/thecodest.co\/pt\/blog\/hire-vue-js-developers\/\">criador<\/a> Ao esfor\u00e7ar-se por compreender as suas complexidades, \u00e9 evidente que a influ\u00eancia desta arquitetura continua a crescer. Demonstra v\u00e1rias formas de a utilizar eficazmente. Por exemplo, numa <strong><a href=\"https:\/\/thecodest.co\/pt\/dictionary\/what-is-fintech-in-banking\/\">banc\u00e1rio<\/a> aplica\u00e7\u00e3o<\/strong>, o <strong>interface do reposit\u00f3rio<\/strong> pode atuar como um adaptador secund\u00e1rio, fazendo a ponte entre o <strong>n\u00facleo da aplica\u00e7\u00e3o<\/strong> com <strong>c\u00f3digo externo<\/strong>. Esta separa\u00e7\u00e3o permite a flexibilidade de trocar o <strong>aplica\u00e7\u00e3o concreta<\/strong> de um <strong>sistema de ficheiros<\/strong> ou uma tecnologia espec\u00edfica, sem afetar os servi\u00e7os de aplica\u00e7\u00e3o.<\/p>\n<p>O <strong>desenvolvimento <a href=\"https:\/\/thecodest.co\/pt\/dictionary\/how-to-lead-software-development-team\/\">equipa<\/a><\/strong> pode agora trabalhar no <strong>lado esquerdo<\/strong> da aplica\u00e7\u00e3o sem se preocupar com <strong>factores externos<\/strong>garantindo assim um progresso sem falhas. E assim, conclu\u00edmos a nossa explora\u00e7\u00e3o do mundo do <strong>Arquitetura Hexagonal<\/strong>um estilo arquitet\u00f3nico que continua a estender a sua influ\u00eancia ao panorama do desenvolvimento de software.<br \/>\n<a href=\"https:\/\/thecodest.co\/contact\"><img decoding=\"async\" src=\"\/app\/uploads\/2024\/05\/interested_in_cooperation_.png\" alt=\"faixa de coopera\u00e7\u00e3o\" \/><\/a><\/p>","protected":false},"excerpt":{"rendered":"<p>Explore o poder da Arquitetura Hexagonal para melhorar a capacidade de manuten\u00e7\u00e3o, testabilidade e adaptabilidade do software.<\/p>","protected":false},"author":2,"featured_media":3624,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"inline_featured_image":false,"footnotes":""},"categories":[8],"tags":[],"class_list":["post-3623","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-software-development"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v27.3 (Yoast SEO v27.3) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>The Power of Hexagonal Architecture - The Codest<\/title>\n<meta name=\"description\" content=\"Explore the power of Hexagonal Architecture in software development, enhancing maintainability, testability, and flexibility. Learn how this architectural style, also known as Ports and Adapters, separates core business logic from external systems, supporting Domain-Driven Design, microservices, and reducing technical debt.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/thecodest.co\/pt\/blogue\/o-poder-da-arquitetura-hexagonal\/\" \/>\n<meta property=\"og:locale\" content=\"pt_PT\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"The Power of Hexagonal Architecture\" \/>\n<meta property=\"og:description\" content=\"Explore the power of Hexagonal Architecture in software development, enhancing maintainability, testability, and flexibility. Learn how this architectural style, also known as Ports and Adapters, separates core business logic from external systems, supporting Domain-Driven Design, microservices, and reducing technical debt.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/thecodest.co\/pt\/blogue\/o-poder-da-arquitetura-hexagonal\/\" \/>\n<meta property=\"og:site_name\" content=\"The Codest\" \/>\n<meta property=\"article:published_time\" content=\"2023-06-13T13:29:49+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-09-10T07:51:21+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/thecodest.co\/app\/uploads\/2024\/05\/unlocking_the_possibilities_with_hexagonal_architecture.png\" \/>\n\t<meta property=\"og:image:width\" content=\"960\" \/>\n\t<meta property=\"og:image:height\" content=\"540\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"thecodest\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"thecodest\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"13 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/thecodest.co\\\/blog\\\/the-power-of-hexagonal-architecture\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/thecodest.co\\\/blog\\\/the-power-of-hexagonal-architecture\\\/\"},\"author\":{\"name\":\"thecodest\",\"@id\":\"https:\\\/\\\/thecodest.co\\\/#\\\/schema\\\/person\\\/7e3fe41dfa4f4e41a7baad4c6e0d4f76\"},\"headline\":\"The Power of Hexagonal Architecture\",\"datePublished\":\"2023-06-13T13:29:49+00:00\",\"dateModified\":\"2024-09-10T07:51:21+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/thecodest.co\\\/blog\\\/the-power-of-hexagonal-architecture\\\/\"},\"wordCount\":2868,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/thecodest.co\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/thecodest.co\\\/blog\\\/the-power-of-hexagonal-architecture\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/thecodest.co\\\/app\\\/uploads\\\/2024\\\/05\\\/unlocking_the_possibilities_with_hexagonal_architecture.png\",\"articleSection\":[\"Software Development\"],\"inLanguage\":\"pt-PT\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/thecodest.co\\\/blog\\\/the-power-of-hexagonal-architecture\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/thecodest.co\\\/blog\\\/the-power-of-hexagonal-architecture\\\/\",\"url\":\"https:\\\/\\\/thecodest.co\\\/blog\\\/the-power-of-hexagonal-architecture\\\/\",\"name\":\"The Power of Hexagonal Architecture - The Codest\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/thecodest.co\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/thecodest.co\\\/blog\\\/the-power-of-hexagonal-architecture\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/thecodest.co\\\/blog\\\/the-power-of-hexagonal-architecture\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/thecodest.co\\\/app\\\/uploads\\\/2024\\\/05\\\/unlocking_the_possibilities_with_hexagonal_architecture.png\",\"datePublished\":\"2023-06-13T13:29:49+00:00\",\"dateModified\":\"2024-09-10T07:51:21+00:00\",\"description\":\"Explore the power of Hexagonal Architecture in software development, enhancing maintainability, testability, and flexibility. Learn how this architectural style, also known as Ports and Adapters, separates core business logic from external systems, supporting Domain-Driven Design, microservices, and reducing technical debt.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/thecodest.co\\\/blog\\\/the-power-of-hexagonal-architecture\\\/#breadcrumb\"},\"inLanguage\":\"pt-PT\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/thecodest.co\\\/blog\\\/the-power-of-hexagonal-architecture\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-PT\",\"@id\":\"https:\\\/\\\/thecodest.co\\\/blog\\\/the-power-of-hexagonal-architecture\\\/#primaryimage\",\"url\":\"https:\\\/\\\/thecodest.co\\\/app\\\/uploads\\\/2024\\\/05\\\/unlocking_the_possibilities_with_hexagonal_architecture.png\",\"contentUrl\":\"https:\\\/\\\/thecodest.co\\\/app\\\/uploads\\\/2024\\\/05\\\/unlocking_the_possibilities_with_hexagonal_architecture.png\",\"width\":960,\"height\":540},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/thecodest.co\\\/blog\\\/the-power-of-hexagonal-architecture\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/thecodest.co\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"The Power of Hexagonal Architecture\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/thecodest.co\\\/#website\",\"url\":\"https:\\\/\\\/thecodest.co\\\/\",\"name\":\"The Codest\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\\\/\\\/thecodest.co\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/thecodest.co\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"pt-PT\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/thecodest.co\\\/#organization\",\"name\":\"The Codest\",\"url\":\"https:\\\/\\\/thecodest.co\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-PT\",\"@id\":\"https:\\\/\\\/thecodest.co\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/thecodest.co\\\/app\\\/uploads\\\/2024\\\/03\\\/thecodest-logo.svg\",\"contentUrl\":\"https:\\\/\\\/thecodest.co\\\/app\\\/uploads\\\/2024\\\/03\\\/thecodest-logo.svg\",\"width\":144,\"height\":36,\"caption\":\"The Codest\"},\"image\":{\"@id\":\"https:\\\/\\\/thecodest.co\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/pl.linkedin.com\\\/company\\\/codest\",\"https:\\\/\\\/clutch.co\\\/profile\\\/codest\"]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/thecodest.co\\\/#\\\/schema\\\/person\\\/7e3fe41dfa4f4e41a7baad4c6e0d4f76\",\"name\":\"thecodest\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-PT\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/5dbfe6a1e8c86e432e8812759e34e6fe82ebac75119ae3237a6c1311fa19caf4?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/5dbfe6a1e8c86e432e8812759e34e6fe82ebac75119ae3237a6c1311fa19caf4?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/5dbfe6a1e8c86e432e8812759e34e6fe82ebac75119ae3237a6c1311fa19caf4?s=96&d=mm&r=g\",\"caption\":\"thecodest\"},\"url\":\"https:\\\/\\\/thecodest.co\\\/pt\\\/author\\\/thecodest\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"O poder da arquitetura hexagonal - The Codest","description":"Explore o poder da Arquitetura Hexagonal no desenvolvimento de software, melhorando a capacidade de manuten\u00e7\u00e3o, testabilidade e flexibilidade. Saiba como este estilo arquitet\u00f3nico, tamb\u00e9m conhecido como Ports and Adapters, separa a l\u00f3gica empresarial central dos sistemas externos, suportando o Domain-Driven Design, os microsservi\u00e7os e reduzindo a d\u00edvida t\u00e9cnica.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/thecodest.co\/pt\/blogue\/o-poder-da-arquitetura-hexagonal\/","og_locale":"pt_PT","og_type":"article","og_title":"The Power of Hexagonal Architecture","og_description":"Explore the power of Hexagonal Architecture in software development, enhancing maintainability, testability, and flexibility. Learn how this architectural style, also known as Ports and Adapters, separates core business logic from external systems, supporting Domain-Driven Design, microservices, and reducing technical debt.","og_url":"https:\/\/thecodest.co\/pt\/blogue\/o-poder-da-arquitetura-hexagonal\/","og_site_name":"The Codest","article_published_time":"2023-06-13T13:29:49+00:00","article_modified_time":"2024-09-10T07:51:21+00:00","og_image":[{"width":960,"height":540,"url":"https:\/\/thecodest.co\/app\/uploads\/2024\/05\/unlocking_the_possibilities_with_hexagonal_architecture.png","type":"image\/png"}],"author":"thecodest","twitter_card":"summary_large_image","twitter_misc":{"Written by":"thecodest","Est. reading time":"13 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/thecodest.co\/blog\/the-power-of-hexagonal-architecture\/#article","isPartOf":{"@id":"https:\/\/thecodest.co\/blog\/the-power-of-hexagonal-architecture\/"},"author":{"name":"thecodest","@id":"https:\/\/thecodest.co\/#\/schema\/person\/7e3fe41dfa4f4e41a7baad4c6e0d4f76"},"headline":"The Power of Hexagonal Architecture","datePublished":"2023-06-13T13:29:49+00:00","dateModified":"2024-09-10T07:51:21+00:00","mainEntityOfPage":{"@id":"https:\/\/thecodest.co\/blog\/the-power-of-hexagonal-architecture\/"},"wordCount":2868,"commentCount":0,"publisher":{"@id":"https:\/\/thecodest.co\/#organization"},"image":{"@id":"https:\/\/thecodest.co\/blog\/the-power-of-hexagonal-architecture\/#primaryimage"},"thumbnailUrl":"https:\/\/thecodest.co\/app\/uploads\/2024\/05\/unlocking_the_possibilities_with_hexagonal_architecture.png","articleSection":["Software Development"],"inLanguage":"pt-PT","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/thecodest.co\/blog\/the-power-of-hexagonal-architecture\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/thecodest.co\/blog\/the-power-of-hexagonal-architecture\/","url":"https:\/\/thecodest.co\/blog\/the-power-of-hexagonal-architecture\/","name":"O poder da arquitetura hexagonal - The Codest","isPartOf":{"@id":"https:\/\/thecodest.co\/#website"},"primaryImageOfPage":{"@id":"https:\/\/thecodest.co\/blog\/the-power-of-hexagonal-architecture\/#primaryimage"},"image":{"@id":"https:\/\/thecodest.co\/blog\/the-power-of-hexagonal-architecture\/#primaryimage"},"thumbnailUrl":"https:\/\/thecodest.co\/app\/uploads\/2024\/05\/unlocking_the_possibilities_with_hexagonal_architecture.png","datePublished":"2023-06-13T13:29:49+00:00","dateModified":"2024-09-10T07:51:21+00:00","description":"Explore o poder da Arquitetura Hexagonal no desenvolvimento de software, melhorando a capacidade de manuten\u00e7\u00e3o, testabilidade e flexibilidade. Saiba como este estilo arquitet\u00f3nico, tamb\u00e9m conhecido como Ports and Adapters, separa a l\u00f3gica empresarial central dos sistemas externos, suportando o Domain-Driven Design, os microsservi\u00e7os e reduzindo a d\u00edvida t\u00e9cnica.","breadcrumb":{"@id":"https:\/\/thecodest.co\/blog\/the-power-of-hexagonal-architecture\/#breadcrumb"},"inLanguage":"pt-PT","potentialAction":[{"@type":"ReadAction","target":["https:\/\/thecodest.co\/blog\/the-power-of-hexagonal-architecture\/"]}]},{"@type":"ImageObject","inLanguage":"pt-PT","@id":"https:\/\/thecodest.co\/blog\/the-power-of-hexagonal-architecture\/#primaryimage","url":"https:\/\/thecodest.co\/app\/uploads\/2024\/05\/unlocking_the_possibilities_with_hexagonal_architecture.png","contentUrl":"https:\/\/thecodest.co\/app\/uploads\/2024\/05\/unlocking_the_possibilities_with_hexagonal_architecture.png","width":960,"height":540},{"@type":"BreadcrumbList","@id":"https:\/\/thecodest.co\/blog\/the-power-of-hexagonal-architecture\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/thecodest.co\/"},{"@type":"ListItem","position":2,"name":"The Power of Hexagonal Architecture"}]},{"@type":"WebSite","@id":"https:\/\/thecodest.co\/#website","url":"https:\/\/thecodest.co\/","name":"The Codest","description":"","publisher":{"@id":"https:\/\/thecodest.co\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/thecodest.co\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"pt-PT"},{"@type":"Organization","@id":"https:\/\/thecodest.co\/#organization","name":"The Codest","url":"https:\/\/thecodest.co\/","logo":{"@type":"ImageObject","inLanguage":"pt-PT","@id":"https:\/\/thecodest.co\/#\/schema\/logo\/image\/","url":"https:\/\/thecodest.co\/app\/uploads\/2024\/03\/thecodest-logo.svg","contentUrl":"https:\/\/thecodest.co\/app\/uploads\/2024\/03\/thecodest-logo.svg","width":144,"height":36,"caption":"The Codest"},"image":{"@id":"https:\/\/thecodest.co\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/pl.linkedin.com\/company\/codest","https:\/\/clutch.co\/profile\/codest"]},{"@type":"Person","@id":"https:\/\/thecodest.co\/#\/schema\/person\/7e3fe41dfa4f4e41a7baad4c6e0d4f76","name":"thecodest","image":{"@type":"ImageObject","inLanguage":"pt-PT","@id":"https:\/\/secure.gravatar.com\/avatar\/5dbfe6a1e8c86e432e8812759e34e6fe82ebac75119ae3237a6c1311fa19caf4?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/5dbfe6a1e8c86e432e8812759e34e6fe82ebac75119ae3237a6c1311fa19caf4?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/5dbfe6a1e8c86e432e8812759e34e6fe82ebac75119ae3237a6c1311fa19caf4?s=96&d=mm&r=g","caption":"thecodest"},"url":"https:\/\/thecodest.co\/pt\/author\/thecodest\/"}]}},"_links":{"self":[{"href":"https:\/\/thecodest.co\/pt\/wp-json\/wp\/v2\/posts\/3623","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/thecodest.co\/pt\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/thecodest.co\/pt\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/thecodest.co\/pt\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/thecodest.co\/pt\/wp-json\/wp\/v2\/comments?post=3623"}],"version-history":[{"count":5,"href":"https:\/\/thecodest.co\/pt\/wp-json\/wp\/v2\/posts\/3623\/revisions"}],"predecessor-version":[{"id":8012,"href":"https:\/\/thecodest.co\/pt\/wp-json\/wp\/v2\/posts\/3623\/revisions\/8012"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/thecodest.co\/pt\/wp-json\/wp\/v2\/media\/3624"}],"wp:attachment":[{"href":"https:\/\/thecodest.co\/pt\/wp-json\/wp\/v2\/media?parent=3623"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/thecodest.co\/pt\/wp-json\/wp\/v2\/categories?post=3623"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/thecodest.co\/pt\/wp-json\/wp\/v2\/tags?post=3623"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}