Formation Architecture Hexagonale & DDD Tactique

En ligne - 13-14 février

1 400€ HT / personne (1 680€ TTC)

2 jours

En ligne - 13-14 mars

1 400€ HT / personne (1 680€ TTC)

2 jours

Objectifs


L'objectif de cette formation est d’acquérir les connaissances nécessaires pour concevoir et développer des applications évolutives et maintenables grâce aux patterns tactiques du Domain-Driven Design (DDD) et l'architecture hexagonale. Les participants apprendront à créer des applications qui répondent aux exigences métier mais qui sont également bien testées. Les participants apprendront à :

  • Créer des logiciels centrés sur le métier :
    • Concevoir des modèles de domaine riches en utilisant les patterns tactiques du DDD (aggregates, entities, value objects, etc.)
    • Apprendre à modéliser des use cases grâce design pattern command handler
  • Comprendre les concepts fondamentaux de l'architecture hexagonale :
    • Identifier les composants de l'architecture hexagonale et leur rôle (domaine, ports & adapters primaires et secondaires)
    • Concevoir le code métier indépendant du framework, librairies technique ou la plateforme utilisée
  • Tester et valider le code : Apprendre à écrire des tests unitaires et des tests d'intégration pour garantir la qualité, la fiabilité des applications

La formation sera un mélange de sessions théoriques, d'exercices pratiques et de moments de partage pour apprendre les uns des autres.

  • Théorie : 25%
  • Pratique : 55%
  • Échanges : 20%

Acquis à l'issue de la formation

À l'issue de cette formation, les participants auront acquis les compétences et connaissances suivantes :

  • Concevoir du code métier grâce aux entités (Entities), aux objets de valeur (Value Objects), aux agrégats (Aggregates) et au design pattern Command Handler.
  • Comprendre les mécanismes de validation de données
  • Sauvegarder et récupérer l'état des objets du domaine grâce aux Repositories et aux Query Functions
  • Comprendre et appliquer les mécanismes de l'architecture hexagonale (domaine, ports & adaptateurs primaires et secondaires)
  • Comprendre comment tester le code qu’on produit : grâce aux tests unitaires et aux tests d'intégration

Public concerné et pré-requis

Cette formation vise les développeuses et développeurs familiarisé.e.s avec des frameworks, désireux d'approfondir leurs compétences en architecture logicielle grâce au DDD tactique et l'architecture hexagonale.

Les participants devront être équipés d’un PC (non fourni) avec un environnement prềt pour démarrer un nouveau projet (installation de son framework préféré et d’un framework de test).

Evaluation

En début de formation, une autoévaluation est effectuée pour évaluer le niveau, ainsi que les attentes de chaque participant. Ainsi nous pouvons organiser au mieux les différents groupes de travail.
Par la suite, le formateur effectue une évaluation continue à l'aide des nombreux exercices pratiques.
En fin de formation, la progression et les acquis sont autoévalués par chacun des participants. Le formateur fournit à chacun des participants une évaluation, ainsi que les axes d'amélioration.
En option, un accompagnement postformation peut être effectué. Cela fera l'objet d'un devis complémentaire.

Programme

  • 1ère demi-journée : Modéliser les problématiques métier indépendamment du framework ou de n'importe quelle technologie
    • Architecture hexagonale : le domaine
    • Patterns tactiques du DDD : Entity, Value Object, Aggregate, Repository
    • Patterns : Command / Command handler
    • Test logiciel : Valider le code métier via des tests
  • 2ème demi-journée : Isoler les entrées / sorties du code métier
    • Architecture hexagonale : les ports et adapteurs secondaires
    • Test logiciel : Dummy, Fake, Spy, Stub, Mock
  • 3ème demi-journée : Persister et lire les données dans une base de données
    • Persister un domain modèle : Repository, Domain model versus Persistence model et Transactional consistency (aggregate)
    • Lire les données : Read model et Query fonctions
    • Test logiciel : Valider un repository ou un query fonction via des tests d’intégration
  • 4ème demi-journée : Ouvrir l'application vers l'extérieur, peu importe le moyen ou la technologie utilisée
    • Architecture hexagonale : les ports et adapteurs primaires
    • Valider les données fournies par les utilisateurs
    • Patterns : Command bus / Event bus
    • Test logiciel : Valider les adapteurs primaires via des tests

Formateur / Formatrice

Arnaud Langlade
Arnaud Langlade

Arnaud est développeur avec 15 ans d’expérience. Autodidacte, il a d'abord suivi une formation en télécoms et réseaux avant de se tourner vers le développement logiciel, un domaine qui le passionne et qu’il exerce depuis quinze ans. Il est devenu indépendant en 2022.

Arnaud a évolué dans divers environnements professionnels, allant de la petite entreprise (TPE) à la scale-up. Il aime comprendre les problématiques métier avant de coder. Passionné par l'architecture logicielle et les tests, il est fan de tout ce qui se termine par *DD.

Co-organisateur d'Agile Pays Basque, Arnaud donne des conférences et anime des BBL, partageant ainsi son expertise et sa passion pour l'ingénierie logicielle.