{"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":"el-poder-de-la-arquitectura-hexagonal","status":"publish","type":"post","link":"https:\/\/thecodest.co\/es\/blog\/the-power-of-hexagonal-architecture\/","title":{"rendered":"El poder de la arquitectura hexagonal"},"content":{"rendered":"<p>En esta completa gu\u00eda, profundizaremos en los matices de <strong>Arquitectura hexagonal<\/strong>El objetivo es analizar su definici\u00f3n, sus componentes y su historia. Estableceremos comparaciones entre <strong>Arquitectura hexagonal<\/strong> y otros patrones arquitect\u00f3nicos populares para destacar sus puntos fuertes \u00fanicos. Adem\u00e1s, examinaremos su papel fundamental en el dise\u00f1o orientado al dominio (DDD) y en la creaci\u00f3n de modelos arquitect\u00f3nicos. <a href=\"https:\/\/thecodest.co\/es\/dictionary\/microservices\/\">microservicios<\/a>cada vez m\u00e1s importantes en el mundo moderno. <a href=\"https:\/\/thecodest.co\/es\/blog\/8-key-questions-to-ask-your-software-development-outsourcing-partner\/\">desarrollo de software<\/a>.<\/p>\n<h2>1. Introducci\u00f3n a la arquitectura hexagonal<\/h2>\n<p>En el din\u00e1mico panorama de<strong> <a href=\"https:\/\/thecodest.co\/es\/dictionary\/software-architecture\/\">arquitectura de software<\/a><\/strong>, <strong>Arquitectura hexagonal<\/strong>tambi\u00e9n conocida como la <strong>Patr\u00f3n de adaptadores<\/strong>ha surgido como un formidable contendiente, desafiando progresivamente las normas de la <strong>arquitectura tradicional por capas<\/strong>.<\/p>\n<p>Impulsado por la necesidad de un dise\u00f1o arquitect\u00f3nico que pudiera garantizar la facilidad de las pruebas y una mayor mantenibilidad, <strong>Arquitectura hexagonal<\/strong> fue concebida. Su misi\u00f3n: proporcionar <strong>aplicaciones inform\u00e1ticas<\/strong> ajeno a las complejidades y veleidades del mundo exterior.<\/p>\n<p>A lo largo de este art\u00edculo, nos embarcaremos en un viaje a trav\u00e9s de los anales del <strong>Arquitectura hexagonal<\/strong> - una arquitectura que se sit\u00faa en el nexo entre simplicidad y poder. Desentra\u00f1aremos su historia, estructura y principios, y la compararemos con otras arquitecturas. <strong>patrones arquitect\u00f3nicos<\/strong>. Examinaremos su potencial para elevar la calidad de las aplicaciones inform\u00e1ticas y reducir la creciente marea de deuda t\u00e9cnica que asedia a la industria del software.<\/p>\n<h2>2. Definici\u00f3n de arquitectura hexagonal<\/h2>\n<p>En el fondo, <strong>Arquitectura hexagonal<\/strong>o los Puertos y <strong>Arquitectura de los adaptadores<\/strong>es un patr\u00f3n de dise\u00f1o basado en la segregaci\u00f3n de preocupaciones. Divide una aplicaci\u00f3n en dos secciones principales: el interior y el exterior.<\/p>\n<p>El interior, tambi\u00e9n denominado n\u00facleo de la aplicaci\u00f3n, alberga el <strong>l\u00f3gica empresarial<\/strong> y objetos de dominio: el n\u00facleo de valor de su software. Este santuario interior se mantiene al margen de influencias externas, preservando as\u00ed la integridad del <strong>l\u00f3gica empresarial<\/strong> y el modelo de dominio.<\/p>\n<p>El exterior, por su parte, es el reino de los sistemas externos -del <strong>interfaz de usuario<\/strong> hasta el acceso a la base de datos- que interact\u00faan con el n\u00facleo de la aplicaci\u00f3n. Estas interacciones se gestionan a trav\u00e9s de un mecanismo de puertos y adaptadores, que garantiza una separaci\u00f3n limpia entre el n\u00facleo de la aplicaci\u00f3n y la base de datos. <strong>n\u00facleo de la aplicaci\u00f3n<\/strong> y sus actores externos.<\/p>\n<h2>3. Historia de la arquitectura hexagonal<\/h2>\n<p><strong>Arquitectura hexagonal<\/strong> es una idea original de Alistair Cockburn, un visionario que articul\u00f3 por primera vez este concepto como respuesta a las limitaciones de la tecnolog\u00eda tradicional. <strong>arquitectura en capas<\/strong>. Se dise\u00f1\u00f3 para crear una tecnolog\u00eda agn\u00f3stica. <strong>capa de dominio<\/strong> que a\u00edsla el n\u00facleo <strong>l\u00f3gica empresarial<\/strong> de influencias externas, como la <strong>interfaz de usuario <a href=\"https:\/\/thecodest.co\/es\/dictionary\/what-is-code-refactoring\/\">c\u00f3digo<\/a><\/strong> y acceso a bases de datos.<\/p>\n<p>En la tradici\u00f3n <strong>arquitectura en capas<\/strong>Los cambios en una capa pod\u00edan propagarse a otras y tener consecuencias imprevistas. Adem\u00e1s, las pruebas se complicaban por las intrincadas dependencias entre capas.<\/p>\n<p><strong>Arquitectura hexagonal<\/strong> surgi\u00f3 como soluci\u00f3n, ofreciendo un modelo en el que los cambios en una parte del sistema no desestabilizar\u00edan las dem\u00e1s partes. En esencia, se trataba de <strong>l\u00f3gica empresarial<\/strong> agn\u00f3stico a si se estaba accediendo a trav\u00e9s de un <a href=\"https:\/\/thecodest.co\/es\/blog\/find-your-ideal-stack-for-web-development\/\">web<\/a> interfaz, un <strong>REST <a href=\"https:\/\/thecodest.co\/es\/blog\/compare-staff-augmentation-firms-that-excel-in-api-team-staffing-for-financial-technology-projects\/\">API<\/a><\/strong>o incluso un <strong>l\u00ednea de comandos<\/strong>.<\/p>\n<h2>4. Componentes de la arquitectura hexagonal<\/h2>\n<p><strong>Arquitectura hexagonal<\/strong>, llamado as\u00ed por su ilusi\u00f3n hexagonal en las representaciones diagram\u00e1ticas, consta de tres componentes b\u00e1sicos: el <strong>modelo de dominio<\/strong>puertos (primarios y secundarios) y adaptadores (primarios y secundarios).<\/p>\n<p>En<strong> modelo de dominio<\/strong> es el coraz\u00f3n de la aplicaci\u00f3n de software, encapsulando el <strong>normas empresariales<\/strong> y la l\u00f3gica central. Los objetos de dominio que residen en este modelo contienen valores y reglas empresariales espec\u00edficos.<\/p>\n<p>A continuaci\u00f3n, tenemos los puertos, conductos entre el <strong>modelo de dominio<\/strong> y el mundo exterior. <strong>Puertos principales<\/strong> exponer la aplicaci\u00f3n <strong>l\u00f3gica empresarial<\/strong>que sirven de puerta de entrada al n\u00facleo de la aplicaci\u00f3n. Representan los casos de uso que admite la aplicaci\u00f3n.<\/p>\n<p><strong>Puertos secundarios<\/strong>por otro lado, est\u00e1n orientadas al exterior. Representan interfaces que la aplicaci\u00f3n necesita del mundo exterior, como capas de persistencia o servicios externos.<\/p>\n<p>Por \u00faltimo, tenemos los adaptadores, que act\u00faan como traductores entre el <strong>modelo de dominio<\/strong> y el mundo exterior. Convierten <a href=\"https:\/\/thecodest.co\/es\/blog\/app-data-collection-security-risks-value-and-types-explored\/\">datos<\/a> del formato utilizado por <strong>sistemas externos<\/strong> al formato utilizado por el <strong>l\u00f3gica empresarial<\/strong>y viceversa.<\/p>\n<h2>5. Puertos y adaptadores<\/h2>\n<p><strong>Puertos y adaptadores<\/strong> forman el puente entre el <strong>n\u00facleo de la aplicaci\u00f3n<\/strong> y los actores externos. Los puertos primarios representan los casos de uso de negocio que la aplicaci\u00f3n expone, permitiendo a los actores externos interactuar con la aplicaci\u00f3n. Piense en ellos como las interfaces de servicio en su <strong>capa empresarial<\/strong>.<\/p>\n<p>Los puertos secundarios, por su parte, son interfaces que tu aplicaci\u00f3n necesita del mundo exterior. Pueden ser servicios como el acceso a bases de datos, <a href=\"https:\/\/thecodest.co\/es\/dictionary\/web-services\/\">servicios web<\/a>o incluso servicios de tiempo. Exponen lo que necesita la aplicaci\u00f3n, independientemente de cualquier tecnolog\u00eda o caracter\u00edstica espec\u00edfica del proveedor.<\/p>\n<p>Los adaptadores son las manifestaciones f\u00edsicas de estos puertos. Traducen los datos del formato utilizado por el <strong>l\u00f3gica empresarial<\/strong> al formato utilizado por los actores externos y viceversa. Estos adaptadores pueden ser conversores de adaptadores espec\u00edficos de la tecnolog\u00eda para API REST, bases de datos SQL o sistemas de mensajer\u00eda, pero tambi\u00e9n pueden ser secuencias de comandos por lotes o <strong>interfaz de usuario<\/strong> c\u00f3digo. Los adaptadores forman el l\u00edmite de la aplicaci\u00f3n, lo que permite que \u00e9sta sea independiente de la tecnolog\u00eda.<\/p>\n<h2>6. Puertos y adaptadores primarios y secundarios<\/h2>\n<p>Los puertos primarios representan las operaciones que nuestra aplicaci\u00f3n puede realizar - los comandos que nuestro dominio central puede aceptar. A menudo se implementan como interfaces en lenguajes como <a href=\"https:\/\/thecodest.co\/es\/blog\/top-programming-languages-to-build-e-commerce\/\">Java<\/a>definiendo qu\u00e9 operaciones ofrece la aplicaci\u00f3n.<strong>Adaptadores primarios<\/strong>por lo tanto, son las implementaciones de estas interfaces para actores externos espec\u00edficos.<\/p>\n<p>Por otro lado, los puertos secundarios son interfaces que el dominio principal utiliza para interactuar con el mundo exterior. Pueden incluir interfaces para persistir objetos del dominio o enviar notificaciones. <strong>Adaptadores secundarios<\/strong> son las implementaciones reales de estas interfaces - un <strong>Base de datos SQL<\/strong> o un adaptador de notificaciones por correo electr\u00f3nico, por ejemplo.<\/p>\n<p>Juntos, los <strong>puertos y adaptadores primarios y secundarios<\/strong> forman una frontera flexible y modular alrededor de la aplicaci\u00f3n, separando el <strong>l\u00f3gica de dominio<\/strong> de las preocupaciones t\u00e9cnicas. Imponen una separaci\u00f3n clara de responsabilidades y permiten que distintas partes del sistema evolucionen de forma independiente.<\/p>\n<h2>7. Regla de dependencia e inversi\u00f3n de la dependencia<\/h2>\n<p>La regla de la dependencia es un principio fundamental en <strong>Arquitectura hexagonal<\/strong> que establece que las dependencias deben apuntar hacia dentro, hacia el n\u00facleo de la aplicaci\u00f3n. El n\u00facleo de la aplicaci\u00f3n no depende de ninguna base de datos en particular, interfaz de usuario o cualquier otro organismo externo.<\/p>\n<p>Este principio est\u00e1 estrechamente relacionado con el <strong>Principio de inversi\u00f3n de la dependencia<\/strong> (DIP), uno de los principios SOLID de dise\u00f1o orientado a objetos. El DIP establece que los m\u00f3dulos de alto nivel (<strong>l\u00f3gica empresarial<\/strong> o <strong>capa de dominio<\/strong> no deber\u00eda depender de m\u00f3dulos de bajo nivel (como el adaptador de base de datos). En su lugar, ambos deber\u00edan depender de abstracciones. Esta inversi\u00f3n de las dependencias permite aislar los m\u00f3dulos de alto nivel de los cambios en los m\u00f3dulos de bajo nivel, fomentando un dise\u00f1o en el que el <strong>l\u00f3gica empresarial<\/strong> impulsa la arquitectura global.<\/p>\n<h2>8. Cartograf\u00eda<\/h2>\n<p>La cartograf\u00eda es un proceso esencial en <strong>Arquitectura hexagonal<\/strong>en el que un adaptador espec\u00edfico de la tecnolog\u00eda convierte los datos del formato utilizado por <strong>sistemas externos<\/strong> a un formato que nuestro <strong>capa de dominio<\/strong> puede entender. Este mapeo facilita la traducci\u00f3n entre las representaciones interna y externa de los datos de la aplicaci\u00f3n.<\/p>\n<p>Por ejemplo, cuando una petici\u00f3n HTTP llega a nuestra aplicaci\u00f3n desde una interfaz externa como un <strong>API REST<\/strong>Los datos de la solicitud deben traducirse de JSON a objetos de dominio que la aplicaci\u00f3n pueda utilizar. Esta traducci\u00f3n es responsabilidad de los adaptadores.<\/p>\n<p>A la inversa, cuando la aplicaci\u00f3n necesita enviar una respuesta, los adaptadores volver\u00edan a convertir los objetos de dominio en JSON. Esto permite que la aplicaci\u00f3n central permanezca ignorante de las especificidades del mundo externo, al tiempo que garantiza que puede interpretar correctamente los datos entrantes y formatear los salientes. <\/p>\n<h2>9. Ventajas de la arquitectura hexagonal<\/h2>\n<p><strong>Arquitectura hexagonal<\/strong> ofrece una gran cantidad de ventajas, que pueden atribuirse en gran medida a su desacoplamiento de las aplicaciones inform\u00e1ticas de sus elementos externos y a la clara delimitaci\u00f3n entre las distintas partes de un sistema.<\/p>\n<p>Una de las ventajas fundamentales es la separaci\u00f3n de preocupaciones, que favorece el mantenimiento y la legibilidad del c\u00f3digo. El desacoplamiento del n\u00facleo <strong>l\u00f3gica empresarial<\/strong> del <strong>mundo exterior<\/strong> permite cambios en los adaptadores, bases de datos y <strong>interfaces de usuario<\/strong> sin alterar el n\u00facleo <strong>l\u00f3gica empresarial<\/strong>.<\/p>\n<p><strong>Arquitectura hexagonal<\/strong> tambi\u00e9n destaca en el \u00e1mbito de la comprobabilidad. El aislamiento de dependencias externas de la arquitectura permite a los desarrolladores ejecutar pruebas de regresi\u00f3n automatizadas y escribir <strong>suites de pruebas automatizadas<\/strong> m\u00e1s f\u00e1cilmente. Este aislamiento mejora la resistencia de la aplicaci\u00f3n, ya que los cambios en un componente no afectar\u00e1n negativamente a los dem\u00e1s.<\/p>\n<p>Adem\u00e1s, la arquitectura admite varios adaptadores para el mismo puerto, lo que abre la puerta a varios adaptadores para el mismo puerto secundario. Esta flexibilidad permite a la aplicaci\u00f3n interactuar con distintos tipos de bases de datos o soportar varias <strong>interfaz de usuario<\/strong> plataformas.<\/p>\n<h2>10. Mantenibilidad<\/h2>\n<p>En el \u00e1mbito del desarrollo de software, la capacidad de mantenimiento suele ser una caracter\u00edstica muy buscada, pero los estilos arquitect\u00f3nicos tradicionales pueden tener dificultades para ofrecerla. <strong>Arquitectura hexagonal<\/strong> destaca aqu\u00ed por su gran \u00e9nfasis en la mantenibilidad.<\/p>\n<p>Centr\u00e1ndose en la separaci\u00f3n de preocupaciones, <strong>Arquitectura hexagonal<\/strong> garantiza que los cambios realizados en una parte de la aplicaci\u00f3n no afecten a otras partes. Este rasgo ayuda a reducir el tiempo y el esfuerzo dedicados a comprender y depurar el c\u00f3digo.<\/p>\n<p>Adem\u00e1s, la arquitectura fomenta la reutilizaci\u00f3n del c\u00f3digo promoviendo un dise\u00f1o en el que el n\u00facleo<strong> l\u00f3gica empresarial<\/strong> est\u00e1 aislada de las tecnolog\u00edas espec\u00edficas utilizadas para impulsar la aplicaci\u00f3n. Este desacoplamiento permite a los desarrolladores cambiar, actualizar o refactorizar las aplicaciones. <strong>interfaces externas<\/strong> sin afectar a la l\u00f3gica central, lo que reduce el riesgo de introducir errores.<\/p>\n<h2>11. Reducci\u00f3n de la deuda t\u00e9cnica<\/h2>\n<p>La deuda t\u00e9cnica, una preocupaci\u00f3n importante en el desarrollo de software, se refiere al coste futuro de la refactorizaci\u00f3n y la correcci\u00f3n de atajos y hacks en el c\u00f3digo. <strong>Arquitectura hexagonal<\/strong> ofrece un enfoque proactivo para mitigar dicha deuda.<\/p>\n<p>Al facilitar una separaci\u00f3n clara entre el n\u00facleo <strong>l\u00f3gica empresarial<\/strong> y <strong>componentes externos<\/strong>, <strong>Arquitectura hexagonal<\/strong> reduce la probabilidad de c\u00f3digo entrelazado que puede causar dolores de cabeza de mantenimiento y agravar la deuda t\u00e9cnica. La mantenibilidad y comprobabilidad inherentes a la arquitectura tambi\u00e9n contribuyen a reducir la deuda t\u00e9cnica, ya que ayudan a evitar la introducci\u00f3n de errores y facilitan los esfuerzos de refactorizaci\u00f3n.<\/p>\n<p>Adem\u00e1s, la capacidad de <strong>Arquitectura hexagonal<\/strong> para soportar cambios en la infraestructura sin necesidad de cambios en el <strong>l\u00f3gica empresarial<\/strong> proporciona un amortiguador protector contra la deuda t\u00e9cnica. Esta capacidad permite a los equipos adaptarse a los cambios en los requisitos o las tecnolog\u00edas sin tener que reescribir grandes partes de la aplicaci\u00f3n.<\/p>\n<h2>12. La arquitectura hexagonal en la pr\u00e1ctica<\/h2>\n<p>En la pr\u00e1ctica, <strong>Arquitectura hexagonal<\/strong> aporta un enfoque estructurado al desarrollo de software. El l\u00edmite hexagonal en torno a la aplicaci\u00f3n central proporciona una demarcaci\u00f3n clara de d\u00f3nde termina la aplicaci\u00f3n y el <strong>mundo exterior<\/strong> comienza.<\/p>\n<p>Los adaptadores act\u00faan como guardianes, traduciendo las peticiones de los actores externos a un formato que la aplicaci\u00f3n central pueda entender, y viceversa. De este modo, se aseguran de que la aplicaci\u00f3n central siga siendo agn\u00f3stica a las especificidades del mundo exterior, ya sea una base de datos, un servidor o una red. <strong>API externa<\/strong>o un <strong>interfaz de usuario<\/strong>.<\/p>\n<h2>13. Dise\u00f1o orientado al dominio (DDD)<\/h2>\n<p>El Dise\u00f1o Orientado al Dominio (DDD) es una metodolog\u00eda de desarrollo de software que da prioridad a los conceptos empresariales centrales, o a los <strong>l\u00f3gica de dominio<\/strong>como motor principal del dise\u00f1o. Esta metodolog\u00eda se ajusta notablemente a <strong>Arquitectura hexagonal<\/strong>que tambi\u00e9n subraya la importancia de la <strong>l\u00f3gica empresarial<\/strong> y el <strong>modelo de dominio<\/strong> en la arquitectura.<\/p>\n<p>En el contexto de <strong>Arquitectura hexagonal<\/strong>DDD garantiza que los m\u00f3dulos de alto nivel de la aplicaci\u00f3n -las capas de dominio- sean independientes de los elementos externos, como el <strong>interfaz de usuario<\/strong> o la base de datos. Esta independencia est\u00e1 garantizada por los puertos y adaptadores, que protegen a la capa de dominio de las especificidades de la base de datos.<strong> sistemas externos<\/strong>lo que permite<strong> l\u00f3gica de dominio<\/strong> evolucionar de forma independiente.<\/p>\n<p>Adem\u00e1s, <strong>Arquitectura hexagonal<\/strong> complementa los principios de dise\u00f1o estrat\u00e9gico de DDD, incluido el concepto de contextos delimitados. Cada contexto delimitado en DDD puede imaginarse como un hex\u00e1gono en <strong>Arquitectura hexagonal<\/strong>con el modelo de dominio como n\u00facleo y el <strong>puertos y adaptadores<\/strong> actuando como l\u00edmites.<\/p>\n<h2>14. Microservicios<\/h2>\n<p>Los microservicios, otro estilo arquitect\u00f3nico contempor\u00e1neo, pueden beneficiarse enormemente de <strong>Arquitectura hexagonal<\/strong>. La naturaleza descentralizada de los microservicios -en los que cada servicio encapsula una capacidad empresarial espec\u00edfica- encaja perfectamente con la encapsulaci\u00f3n de <strong>l\u00f3gica empresarial<\/strong> dentro del n\u00facleo del hex\u00e1gono.<\/p>\n<p>Al igual que cada <a href=\"https:\/\/thecodest.co\/es\/blog\/exploring-microservice-based-frontend-architecture\/\">microservicio<\/a> deben estar d\u00e9bilmente acoplados con otros, cada hex\u00e1gono en <strong>Arquitectura hexagonal<\/strong> tambi\u00e9n est\u00e1 aislado de los dem\u00e1s, comunic\u00e1ndose \u00fanicamente a trav\u00e9s de los puertos y adaptadores definidos. Esto permite que cada microservicio tenga su propio <strong>arquitectura hexagonal<\/strong>El resultado es un conjunto de servicios aut\u00f3nomos y d\u00e9bilmente acoplados.<\/p>\n<p>El aislamiento proporcionado por <strong>Arquitectura hexagonal<\/strong> puede ser especialmente \u00fatil cuando se trata de la complejidad y la naturaleza distribuida de los microservicios. Al aislar los <strong>l\u00f3gica empresarial central<\/strong> del mundo exterior, <strong>Arquitectura hexagonal<\/strong> garantiza la <strong>l\u00f3gica empresarial<\/strong> permanece intacta, independientemente de los cambios en otros servicios o <strong>sistemas externos<\/strong>.<\/p>\n<h2>15. Comparaci\u00f3n de la arquitectura hexagonal con otras arquitecturas<\/h2>\n<p>La forma en que se dise\u00f1a un programa inform\u00e1tico puede influir mucho en su evoluci\u00f3n a lo largo del tiempo. Comparaci\u00f3n de <strong>Arquitectura hexagonal<\/strong> a otras arquitecturas da <a href=\"https:\/\/thecodest.co\/es\/blog\/why-us-companies-are-opting-for-polish-developers\/\">us<\/a> una comprensi\u00f3n m\u00e1s profunda de sus puntos fuertes y posibles contrapartidas.<\/p>\n<h2>16. Arquitectura hexagonal frente a arquitectura en capas<\/h2>\n<p><strong>Arquitectura por capas <\/strong>es una tradici\u00f3n <strong>patr\u00f3n arquitect\u00f3nico<\/strong> que estructura una aplicaci\u00f3n en capas l\u00f3gicas, a menudo capas de presentaci\u00f3n, negocio y acceso a datos. El principal inconveniente de este patr\u00f3n es que fomenta una fuerte dependencia entre las capas, lo que lleva a una situaci\u00f3n en la que los cambios en una capa pueden extenderse a toda la aplicaci\u00f3n.<\/p>\n<p>Por el contrario, <strong>Arquitectura hexagonal<\/strong> minimiza estas dependencias. En lugar de capas, tiene un <strong>n\u00facleo de la aplicaci\u00f3n<\/strong> rodeado de adaptadores intercambiables. Los cambios en un servidor de base de datos, por ejemplo, s\u00f3lo afectar\u00edan al adaptador correspondiente, dejando el <strong>n\u00facleo de la aplicaci\u00f3n<\/strong> y otros adaptadores intactos.<\/p>\n<h2>17. Arquitectura hexagonal frente a arquitectura limpia<\/h2>\n<p><strong>Arquitectura limpia<\/strong>otra <strong>patr\u00f3n arquitect\u00f3nico<\/strong>comparte muchas similitudes con <strong>Arquitectura hexagonal<\/strong>. Ambas hacen hincapi\u00e9 en la separaci\u00f3n de preocupaciones, pretenden aislar el n\u00facleo <strong>normas empresariales<\/strong> de detalles externos, y se adhieren a la <strong>Principio de inversi\u00f3n de la dependencia<\/strong>.<\/p>\n<p>Sin embargo, <strong>Arquitectura hexagonal<\/strong> se centra m\u00e1s en c\u00f3mo interact\u00faa la aplicaci\u00f3n con el <strong>fuera de<\/strong> mundo mediante puertos y adaptadores, mientras que <strong>Arquitectura limpia<\/strong> proporciona una estructura m\u00e1s detallada de las capas internas de la arquitectura. Dicho de otro modo, <strong>Arquitectura limpia<\/strong> puede considerarse un superconjunto de <strong>Arquitectura hexagonal<\/strong>con orientaciones adicionales sobre la organizaci\u00f3n de la estructura interna de la aplicaci\u00f3n.<\/p>\n<h2>18. Arquitectura hexagonal frente a arquitectura de cebolla<\/h2>\n<p><strong>Arquitectura de la cebolla<\/strong> es otro estilo arquitect\u00f3nico que pretende aislar el <strong>l\u00f3gica empresarial central<\/strong> del <strong>interfaces externas<\/strong> e infraestructura. Tiene varias capas conc\u00e9ntricas con el modelo de dominio en el centro, y cada capa s\u00f3lo puede depender de las capas de su interior.<\/p>\n<p>Aunque comparten un objetivo com\u00fan, Hexagonal y <strong>Arquitectura de la cebolla <\/strong>conseguirlo de formas ligeramente diferentes. <strong>Arquitectura de la cebolla<\/strong> pone mucho \u00e9nfasis en la direcci\u00f3n de las dependencias, asegur\u00e1ndose de que todas las dependencias vayan hacia dentro. <strong>Arquitectura hexagonal<\/strong>aunque tambi\u00e9n respalda las dependencias hacia el interior, hace mayor hincapi\u00e9 en la interacci\u00f3n con el <strong>mundo exterior <\/strong>a trav\u00e9s de sus puertos y adaptadores.<\/p>\n<h2>19. Pruebas en arquitectura hexagonal<\/h2>\n<p>Uno de los puntos fuertes de<strong> Arquitectura hexagonal<\/strong> es su enfoque en la comprobabilidad. Al aislar el n\u00facleo de la aplicaci\u00f3n del<strong> mundo exterior<\/strong> a trav\u00e9s de puertos y adaptadores, la Arquitectura Hexagonal permite la ejecuci\u00f3n de <strong>pruebas automatizadas<\/strong> que pueda proporcionar confianza en la estabilidad y correcci\u00f3n del software.<\/p>\n<p>En un <strong>Arquitectura hexagonal<\/strong>El <strong>puertos primarios<\/strong>que encapsulan el n\u00facleo <strong>normas empresariales<\/strong>puede probarse independientemente del mundo exterior. Por ejemplo, en lugar de comunicarse con una base de datos real durante las pruebas, un <strong>adaptador de base de datos<\/strong> puede sustituirse por un doble de prueba que simule el comportamiento de una base de datos real. Esto permite a los desarrolladores centrarse en probar la <strong>normas empresariales<\/strong>en lugar de la interacci\u00f3n con la base de datos.<\/p>\n<p>Adem\u00e1s, <strong>pruebas de regresi\u00f3n automatizadas<\/strong> pueden construirse f\u00e1cilmente para validar que el sistema se comporta como se espera cuando se realizan cambios. Este nivel de comprobabilidad es una ventaja significativa a la hora de mantener y actualizar el software, ya que ayuda a detectar y solucionar problemas en una fase temprana del proceso. <a href=\"https:\/\/thecodest.co\/es\/blog\/how-the-codests-team-extension-model-can-transform-your-in-house-development-team\/\">proceso de desarrollo<\/a>.<\/p>\n<p>Adem\u00e1s, la estructura de<strong> Arquitectura hexagonal<\/strong> tambi\u00e9n admite pruebas de integraci\u00f3n. Al sustituir el <strong>componentes externos<\/strong> (como un servidor de base de datos o un <strong>API externa<\/strong>) con dobles de prueba, los desarrolladores pueden comprobar c\u00f3mo el <strong>n\u00facleo de la aplicaci\u00f3n<\/strong> se integra con estos componentes sin tener que utilizar los sistemas externos reales. Esto puede mejorar enormemente la velocidad y fiabilidad de las pruebas.<\/p>\n<h2> Conclusi\u00f3n<\/h2>\n<p><strong>Arquitectura hexagonal<\/strong> surge como una soluci\u00f3n atractiva en la vasta extensi\u00f3n de las estrategias de desarrollo de software. Se distingue por desacoplar la <strong>n\u00facleo de la aplicaci\u00f3n<\/strong> del entorno externo, garantizando as\u00ed un alto grado de mantenibilidad, comprobabilidad y flexibilidad. Esta separaci\u00f3n facilita que los desarrolladores se centren en el n\u00facleo <strong>l\u00f3gica empresarial<\/strong>al tiempo que se refuerza la resistencia del software frente a las alteraciones del <strong>sistemas externos<\/strong>.<\/p>\n<p>Aunque la arquitectura hexagonal tiene sus inconvenientes, sus m\u00faltiples ventajas la convierten en un activo muy valioso para cualquier desarrollador. En el \u00e1mbito de <strong>arquitectura de software<\/strong>El modelo hexagonal sigue imponi\u00e9ndose.<\/p>\n<p>Este art\u00edculo, salpicado de <strong>ejemplos de c\u00f3digo<\/strong>tiene por objeto proporcionar una comprensi\u00f3n profunda de <strong>Arquitectura hexagonal<\/strong> y sus posibles ventajas. Tenga en cuenta que el secreto de una arquitectura eficaz no reside en la adhesi\u00f3n ciega a patrones, sino en comprender los principios subyacentes e implementarlos de forma meditada para satisfacer requisitos espec\u00edficos.<\/p>\n<p>En el \u00e1mbito de la Arquitectura Hexagonal, la interfaz definida entre el <strong>capa de aplicaci\u00f3n<\/strong> y el <strong>capa de datos<\/strong> es de vital importancia. Tanto si es un <a href=\"https:\/\/thecodest.co\/es\/dictionary\/what-is-a-software-architect\/\">arquitecto de software<\/a> considerar la adopci\u00f3n de esta metodolog\u00eda, o una <a href=\"https:\/\/thecodest.co\/es\/blog\/hire-vue-js-developers\/\">desarrollador<\/a> esforz\u00e1ndose por comprender sus complejidades, est\u00e1 claro que la influencia de esta arquitectura sigue creciendo. Demuestra diversas formas de utilizarla eficazmente. Por ejemplo, en un <strong><a href=\"https:\/\/thecodest.co\/es\/dictionary\/what-is-fintech-in-banking\/\">banca<\/a> aplicaci\u00f3n<\/strong>El <strong>interfaz de repositorio<\/strong> puede actuar como adaptador secundario, puenteando el <strong>n\u00facleo de la aplicaci\u00f3n<\/strong> con <strong>c\u00f3digo externo<\/strong>. Esta separaci\u00f3n permite intercambiar <strong>aplicaci\u00f3n concreta<\/strong> de un <strong>sistema de archivos<\/strong> o una tecnolog\u00eda espec\u00edfica, sin afectar a los servicios de la aplicaci\u00f3n.<\/p>\n<p>En <strong>desarrollo <a href=\"https:\/\/thecodest.co\/es\/dictionary\/how-to-lead-software-development-team\/\">equipo<\/a><\/strong> ya puede trabajar en el <strong>lado izquierdo<\/strong> de la aplicaci\u00f3n sin preocuparse de <strong>factores externos<\/strong>y as\u00ed garantizar un progreso fluido. Y as\u00ed concluimos nuestra exploraci\u00f3n del mundo del <strong>Arquitectura hexagonal<\/strong>un estilo arquitect\u00f3nico que sigue extendiendo su influencia por todo el panorama del desarrollo de software.<br \/>\n<a href=\"https:\/\/thecodest.co\/contact\"><img decoding=\"async\" src=\"\/app\/uploads\/2024\/05\/interested_in_cooperation_.png\" alt=\"bandera de cooperaci\u00f3n\" \/><\/a><\/p>","protected":false},"excerpt":{"rendered":"<p>Explore el poder de la Arquitectura Hexagonal para mejorar la mantenibilidad, comprobabilidad y adaptabilidad del 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\/es\/blog\/el-poder-de-la-arquitectura-hexagonal\/\" \/>\n<meta property=\"og:locale\" content=\"es_ES\" \/>\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\/es\/blog\/el-poder-de-la-arquitectura-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 minutos\" \/>\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\":\"es\",\"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\":\"es\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/thecodest.co\\\/blog\\\/the-power-of-hexagonal-architecture\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@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\":\"es\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/thecodest.co\\\/#organization\",\"name\":\"The Codest\",\"url\":\"https:\\\/\\\/thecodest.co\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@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\":\"es\",\"@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\\\/es\\\/author\\\/thecodest\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"El poder de la arquitectura hexagonal - The Codest","description":"Explore el poder de la arquitectura hexagonal en el desarrollo de software, mejorando la mantenibilidad, la comprobabilidad y la flexibilidad. Descubra c\u00f3mo este estilo arquitect\u00f3nico, tambi\u00e9n conocido como Puertos y Adaptadores, separa la l\u00f3gica empresarial central de los sistemas externos, dando soporte al Dise\u00f1o Orientado al Dominio, los microservicios y reduciendo la deuda 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\/es\/blog\/el-poder-de-la-arquitectura-hexagonal\/","og_locale":"es_ES","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\/es\/blog\/el-poder-de-la-arquitectura-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 minutos"},"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":"es","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":"El poder de la arquitectura 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 el poder de la arquitectura hexagonal en el desarrollo de software, mejorando la mantenibilidad, la comprobabilidad y la flexibilidad. Descubra c\u00f3mo este estilo arquitect\u00f3nico, tambi\u00e9n conocido como Puertos y Adaptadores, separa la l\u00f3gica empresarial central de los sistemas externos, dando soporte al Dise\u00f1o Orientado al Dominio, los microservicios y reduciendo la deuda t\u00e9cnica.","breadcrumb":{"@id":"https:\/\/thecodest.co\/blog\/the-power-of-hexagonal-architecture\/#breadcrumb"},"inLanguage":"es","potentialAction":[{"@type":"ReadAction","target":["https:\/\/thecodest.co\/blog\/the-power-of-hexagonal-architecture\/"]}]},{"@type":"ImageObject","inLanguage":"es","@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":"es"},{"@type":"Organization","@id":"https:\/\/thecodest.co\/#organization","name":"The Codest","url":"https:\/\/thecodest.co\/","logo":{"@type":"ImageObject","inLanguage":"es","@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":"es","@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\/es\/author\/thecodest\/"}]}},"_links":{"self":[{"href":"https:\/\/thecodest.co\/es\/wp-json\/wp\/v2\/posts\/3623","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/thecodest.co\/es\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/thecodest.co\/es\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/thecodest.co\/es\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/thecodest.co\/es\/wp-json\/wp\/v2\/comments?post=3623"}],"version-history":[{"count":5,"href":"https:\/\/thecodest.co\/es\/wp-json\/wp\/v2\/posts\/3623\/revisions"}],"predecessor-version":[{"id":8012,"href":"https:\/\/thecodest.co\/es\/wp-json\/wp\/v2\/posts\/3623\/revisions\/8012"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/thecodest.co\/es\/wp-json\/wp\/v2\/media\/3624"}],"wp:attachment":[{"href":"https:\/\/thecodest.co\/es\/wp-json\/wp\/v2\/media?parent=3623"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/thecodest.co\/es\/wp-json\/wp\/v2\/categories?post=3623"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/thecodest.co\/es\/wp-json\/wp\/v2\/tags?post=3623"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}