Ressources
Avantages
Testabilité
- Pour chaque Driver port, on peut développer un Adapter qui va exécuter les tests au travers du port
- Pour chaque Driven port, on peut développer un Adapter bouchon (mock adapter)
Maintenabilité
- L’architecture Hexagonale assure la Separation of Concerns et le découplage de la logique métier, ce qui facilite la localisation du code que nous voulons modifier.
Fléxibilité
- Pour chaque port, on peut facilement changer l’adaptateur
- On peut développer une nouveau Adapter sans toucher au coeur applicatif
Retarder les décisions technologiques
- Lorsqu’on commence à développer on peut se concentrer sur le coeur applicatif (dont les ports)
- Puis choisir les frameworks/technologies plus tard qui seront des Adapter de nos ports.
Inconvénients
Complexité
- Augmentation du nombre de classes (un port par usecase et plusieurs adaptateur par ports)
- [La flexibilité ajoute de la compléxité](% relref ”../../characteristics/flexibility.md” %)