What is Hexagonal Architecture?

A software design approach that isolates an application's core logic from external concerns by separating it into components.

🔍

Definition

Hexagonal architecture, also known as ports and adapters architecture, is a software design approach that aims to isolate the core logic of an application from external concerns by separating it into loosely coupled components.

🛠️

Principles

It is based on three basic principles: the user side, the business logic at the center, and the server side, which facilitate the application's interaction with the outside world in a controlled manner.

📈

Advantages

It allows delaying decisions about technologies, switching technologies with less impact, testing business logic isolated from external systems, and reshaping the internal domain with less effort on external systems.

🧩

Stereotypes

It includes domain objects, use cases, input and output ports, and adapters, which are key elements for the successful implementation of this architecture.

🍄

Want to learn more?

If you're curious to learn more about Hexagonal Architecture, reach out to me on X. I love sharing ideas, answering questions, and discussing curiosities about these topics, so don't hesitate to stop by. See you around!