Docs
Architectures
Hexagonal
Hexagonal Features

Hexagonal Architecture

Also known as architecture of port and adapters. The main goal is the to separate the responsibilities of every component of system. This architecture is based on the idea all applications should be independents of technology underlying, therefore, easily interchangeable.

Is presented like hexagon, where the nucleus of system is in the center, surrounded by ports and adapters. The ports are interfaces through which the system interacts with the outside world, as user interface, the interface of network or the data base interface. The adapters are the components that interconnect the ports with the nucleus of system.

In this architecture, the nucleus of system contains all the logic and the rules of business, while that the ports and adapters is responsible for the input and output data. The goal is to separate the logic of business about technology underlying, that allow a greater flexibility and easy maintenance.

The architecture hexagonal is based on various software design patterns, as the Inversion of Control, Injection Dependences, and layers pattern.