Hexagonal Architecture
Architecture Hexagonale
Hexagonal architecture is a software architecture that separates the business code from the application, its management (Web page, script, etc) and its infrastructure (database, services, etc).
This enables the core of the application to be isolated, develop it and test it independently. Another advantage is to also to be able to change the infrastructure if necessary without impacting the application's function. In practice, this means a system of intermediate layers between the application core code and other software layers. It groups all the models and business logic and enables a powerful modular structure when implementing as there is no link between the business code and the technical choices made.
L’architecture hexagonale est une architecture logicielle permettant de découpler le code métier de l’application, son pilotage (page web, script, ...) et son infrastructure (base de données, services, ...).
Cela permet d’isoler le cœur de l’application, de le développer et le tester de manière indépendante. Un autre avantage est aussi de pouvoir changer d’infrastructure si nécessaire sans impacter le fonctionnement de l’application. Concrètement, ça se traduit entre autres par un système de couches intermédiaires entre le code du cœur de l’application et les autres couches logicielles. Cela regroupe au même endroit les modèles et la logique métier et offre une modularité puissante pour l’implémentation, du fait qu’il n’y a pas d’adhérence entre le code métier et les choix techniques retenus.