Construire une application respectant l'architecture hexagonale
Programme
Introduction : C’est quoi l’architecture logicielle ?
L’architecture, au delà des client-services, des monolithes, des POJO/DAO/Services/CRUD… etc
- Architecture en couche DDD (Layered Architecture)
- Architecture hexagonale
- Architecture en oignon
- Clean Architecture
Pourquoi et quand utiliser l’architecture hexagonale ?
- Domain complexe
- Compétence stratégiques
- Adapté pour la POO, utile en FP, étrange en Procédurale
- Microservices & Bounded Context
Architecture hexagonale (AKA Port & Adapters) en détail
- Domaine : agrégats, entités , VO, Domain Events, Services de domaine, etc
- Application
- Infrastructure
- Adapteurs, Port, Anti-corruption layer
- Les dépendances en hexagonale
La pyramide des tests d’une architecture hexagonale
- Test couche domaine : Tests Unitaires
- Test couche application : BDD
- Test couche infrastructure : Tests d’intégrations
La construction
- Construction Itérative
- Retarder les décisions d’architecture grâce au design
- Double boucle BDD TDD
- Infra en dernier : ports puis adapteurs
- Les couches d’anti-corruptions
Un mot sur :
- Event Sourcing, CQRS
- La documentation vivante et les architectures
Conclusion
- Coût de la dette d’architecture
- Scaler un SI