Architecture logicielle – clean code, design patterns, DDD

Cette formation permet de structurer des applications robustes, lisibles et évolutives en combinant principes d’architecture, qualité de code et modélisation métier.

Durée : 

21 à 35 heures
Présentiel ou classe virtuelle

Intra-Entreprise : Tarif identique de 1 à 12 participants

Objectifs Pédagogiques & Opérationnels

• Comprendre les principes fondamentaux d’une architecture logicielle maintenable, modulaire et adaptée aux enjeux métier.
• Améliorer la lisibilité, la testabilité et l’évolutivité du code en appliquant les principes du clean code au quotidien.
• Identifier les principaux design patterns, savoir les sélectionner à bon escient et éviter les usages inadaptés.
• Structurer un domaine métier avec les concepts clés du Domain-Driven Design afin d’aligner la conception logicielle sur les besoins fonctionnels.
• Organiser les responsabilités entre couches, composants et services pour limiter le couplage et faciliter les évolutions.
• Mettre en place des pratiques de conception et de revue permettant de prévenir la dette technique et les défauts de conception.

Description

Module 1 — Fondamentaux de l’architecture logicielle
  1. Rôle de l’architecture dans la qualité, la pérennité et l’évolutivité d’un système logiciel.
  2. Différence entre architecture, conception détaillée et implémentation.
  3. Principes de modularité, séparation des responsabilités et maîtrise des dépendances.
  4. Identification des qualités attendues : maintenabilité, testabilité, performance, lisibilité, extensibilité.
  5. Lecture d’une architecture existante pour repérer forces, limites et points de vigilance.
  6. Mise en application encadrée autour de l’analyse d’une structure applicative type.
Module 2 — Clean code et qualité de conception
  1. Principes de lisibilité du code : intention claire, nommage pertinent, structure cohérente.
  2. Organisation des classes, méthodes et fichiers pour réduire la complexité inutile.
  3. Gestion des responsabilités avec les principes SOLID et les bonnes pratiques associées.
  4. Prévention des code smells les plus fréquents : duplication, classes trop larges, méthodes trop longues, dépendances excessives.
  5. Bon usage des commentaires, exceptions, validations et conventions d’équipe.
  6. Intégration du clean code dans les revues de code et dans le quotidien des développements.
Module 3 — Maîtriser les design patterns utiles
  1. Comprendre l’objectif réel des design patterns et leurs limites d’utilisation.
  2. Identifier les grandes familles de patterns : création, structure, comportement.
  3. Étudier les patterns les plus utiles en contexte applicatif : Factory, Strategy, Observer, Adapter, Decorator, Command, Repository.
  4. Choisir un pattern en fonction d’un problème de conception concret plutôt que par effet de mode.
  5. Reconnaître les surconceptions et éviter l’ajout de complexité non justifiée.
  6. Mise en application encadrée à partir de cas de refactorisation ciblés.
Module 4 — Structurer l’application par couches et composants
  1. Définition des responsabilités entre présentation, application, domaine et infrastructure.
  2. Différence entre logique métier, logique technique et orchestration.
  3. Conception d’interfaces claires entre composants et services.
  4. Réduction du couplage grâce à l’inversion de dépendances et aux contrats explicites.
  5. Organisation des flux, des échanges et de la circulation des données dans l’application.
  6. Critères de qualité pour découper un système en modules cohérents et évolutifs.
Module 5 — Introduction opérationnelle au Domain-Driven Design
  1. Principes du DDD et apports pour les applications orientées métier.
  2. Distinction entre cœur de métier, sous-domaines et zones de complexité.
  3. Construction d’un langage commun entre équipes métier et équipes techniques.
  4. Identification des concepts métier structurants : entités, objets-valeur, agrégats, services de domaine.
  5. Compréhension des bounded contexts et de leur utilité dans l’organisation d’un système.
  6. Mise en application encadrée sur la modélisation d’un domaine fonctionnel type.
Module 6 — Modélisation métier et règles de conception DDD
  1. Concevoir un modèle métier cohérent, explicite et centré sur les invariants métier.
  2. Définir le rôle des entités et des objets-valeur dans la stabilité du modèle.
  3. Encapsuler les règles métier au bon endroit pour éviter leur dispersion dans le code.
  4. Structurer les agrégats pour garantir cohérence, intégrité et maîtrise des transactions.
  5. Utiliser les repositories et services applicatifs sans affaiblir le domaine.
  6. Repérer les anti-patterns fréquents : modèle anémique, services surchargés, confusion entre domaine et infrastructure.
Module 7 — Refactorisation et amélioration d’une architecture existante
  1. Identifier les points de fragilité d’une base de code existante sous l’angle architecture et conception.
  2. Prioriser les améliorations selon les risques, les usages et la valeur apportée au projet.
  3. Mettre en œuvre une démarche de refactorisation progressive et sécurisée.
  4. Réduire la dette technique sans bloquer les évolutions fonctionnelles.
  5. Introduire progressivement principes de clean code, patterns et concepts DDD dans un existant.
  6. Mise en application encadrée sur des scénarios d’amélioration d’architecture.
Module 8 — Pérenniser les bonnes pratiques en équipe
  1. Formalisation de standards de conception adaptés au contexte technique de l’équipe.
  2. Mise en place de critères partagés pour les revues de code et les décisions d’architecture.
  3. Articulation entre qualité de code, tests, documentation utile et collaboration.
  4. Gestion des arbitrages entre simplicité, robustesse, délai et évolutivité.
  5. Organisation d’une démarche d’amélioration continue des pratiques de conception.
  6. Capitalisation des choix structurants pour renforcer la cohérence des développements dans le temps.

Évaluation & Suivi des Acquis

Feuille de Présence

Émargement des stagiaires en présentiel ou à distance, via support papier ou signature électronique.

Émargement sécurisé

Signatures électroniques collectées en ligne et conservées dans un coffre-fort numérique sécurisé par Dendreo.

Auto-positionnement

Évaluation du niveau des stagiaires en début et en fin de formation pour mesurer la progression.

Évaluations pédagogiques

Validation des acquis par des questions orales ou écrites tout au long de la formation.

Mises en situation

Exercices pratiques et cas concrets pour ancrer les compétences dans la réalité métier.

Attestation de fin de formation

Remise d’une attestation officielle à l’issue de la formation.

William

William

Répond généralement en moins de 5 minutes

I will be back soon

William
C’est William, votre conseiller pédagogique chez Mill-Forma.
Comment puis-je vous aider ?
WhatsApp Mill Forma