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.