Développer un test unitaire complet pour un composant d'une application hexagonale incluant la validation de la gestion des événements.
Analyser les compromis entre les approches synchrones et asynchrones dans la gestion des événements d'une application hexagonale.
Comparer et contraster différents mécanismes de publication/souscription pour les événements dans le cadre de l'architecture hexagonale.
Implémenter une solution robuste de gestion des événements asynchrones, incluant la gestion des erreurs et la persistance des événements.
Concevoir une application utilisant l'architecture hexagonale et un bus d'événements pour gérer la complexité et la concurrence.
Prérequis
Compréhension de base de l'architecture logicielle et des principes de conception objet.
Connaissance pratique de la programmation orientée objet (POO).
Expérience avec au moins un langage de programmation (Java, C#, Python, etc.).
Familiarité avec les bases de données relationnelles et/ou NoSQL.
Compréhension des concepts de base de la gestion des événements (event sourcing, CQRS).
Capacité à comprendre et à travailler avec des diagrammes UML de base.
Familiarité avec les tests unitaires et d'intégration.
Connaissance de base des concepts de microservices (un plus).
Aptitude à la résolution de problèmes et à la pensée critique.
Capacité à travailler de manière autonome et en équipe.
Habilité à lire et comprendre de la documentation technique en anglais.
Contenu de la Formation
Total:
16 Chapitres
Total hours:
9
Introduction à l'architecture hexagonale : Rappels et Approfondissements
Gestion des ports d'entrée et de sortie : Développement de cas d'utilisation
Principes SOLID et Architecture Hexagonale : Mise en œuvre pratique
Tests unitaires et d'intégration : Stratégies et bonnes pratiques
Introduction à la gestion d'événements : Concepts fondamentaux
Patterns d'événements : Event Sourcing et CQRS
Implémentation de la gestion d'événements dans une architecture hexagonale
Gestion des erreurs et des exceptions : Robustesse et fiabilité
Couplage faible et découplage : Optimisation de la modularité
Utilisation de frameworks et de librairies : Choix technologiques
Tests d'intégration et tests de bout en bout : Validation complète du système
Sécurité et Architecture Hexagonale : Mise en place des mesures de sécurité
Gestion des transactions et des données : Cohérence et fiabilité
Optimisation des performances : Efficacité et scalabilité
Intégration continue et livraison continue : Mise en place d'un pipeline CI/CD
Développement collaboratif et gestion de projet : Méthodologies agiles