DEV : Design Patterns avancé

  • A l’issue de cette formation, vous serez  à l’aise avec le design des applications et les pratiques de conception modernes telles que le TDD et le refactoring.
  • Vous apprendrez à créer des applications évolutives et réutilisables en prenant en compte les principaux patterns de conception.
  • Maîtriser les principes fondamentaux de la conception objet.
  • Maîtriser et savoir mettre en œuvre les principaux design patterns de conception et d’architecture.
  • Savoir organiser ses packages, savoir refactoriser son code avec les designs patterns.
  • Savoir utiliser les designs patterns en TDD, Savoir développer en mode itératif.

Les formations sont dispensées par un expert, via des :

  • Supports de formation.
  • Exercices & travaux pratiques.

L’évaluation s’effectue tout le long de la formation avec des ateliers en fin de chaque partie de la formation pour mettre en œuvre des patterns de conception dans un projet applicatif. 

À QUI S’ADRESSE CETTE FORMATION ?

Public
Pré-requis
Compétences visées

Concepteurs, développeurs, architectes logiciels ou chefs de projet technique.

Notions de conception objet.
Connaissance de base d’un langage objet.

Principes fondamentaux de la conception objet, design pattern de conception.

PROGRAMME DÉTAILLÉ

OBJECTIF PÉDAGOGIQUE

THÈMES À ABORDER

JOUR 1

DÉMARCHE DE LA CONCEPTION OBJET (1/2)

  • Les concepts de la POO
  • Origine d’UML
  • UML et ses diagrammes
  • La démarche UML pour la conception
  • Les niveaux de conception

DÉMARCHE DE LA CONCEPTION OBJET (2/2)

  • Principes SOLID
  • SRP : principe de responsabilité unique
  • OCP : principe d’ouverture/fermeture
  • LSP : principe de substitution de Liskov
  • ISP : principe de séparation des interfaces
  • DIP : principe d’inversion de dépendance
  • Principe DRY: Don’t Repeat Yourself
  • Principe KISS: Keep It Simple Stupid
  • Principe YAGNI : You Ain’t Gonna Need It
  • La répartition des responsabilités avec le GRASP
  • Découpage des responsabilités entre les classes

JOUR 2

PATTERNS DE CRÉATION

  • Singleton
  • Fabrique abstraite
  • Monteur
  • Fabrication
  • Prototype

PATTERNS COMPORTEMENTAUX

  • Chaîne de responsabilité
  • Commande
  • Interpréteur
  • Itérateur
  • Médiateur
  • Mémento
  • Observateur
  • Stratégie
  • Etat
  • Visiteur
  • Patron de méthode

PATTERNS DE STRUCTURE

  • Composite
  • Décorateur
  • Adaptateur
  • Pont
  • Façade
  • Poids mouche
  • Procuration
  • Mise en œuvre pratique depuis la conception, sélection parmi les patterns
  • Codage et exécution d’un cas complet

JOUR 3

INTRODUCTION A L’ARCHITECTURE LOGICIELLE ET AUX PATTERNS ARCHITECTURAUX

  • Architecture logicielle
  • Design patterns architecturaux
  • Des exigences à l’architecture
  • Architecture en couches
  • MVC
  • MVVM
  • Client/serveur
  • Service de bus
  • Blackboard
  • Plugin

PRINCIPE D’ORGANISATION EN PACKAGES

  • Notions sur les packages
  • Règles : GRIN, DIP, CCP, CRP, et fonction commune
  • Métriques sur les packages
  • Analyse et préconisations des modifications à appliquer sur des packages mesurés à partir des outils introduits

JOUR 4

LA REFACTORISATION

  • Définition
  • Pourquoi refactoriser ?
  • Quand refactoriser ?
  • Comment refactoriser ?
  • Niveaux de refactorisation
  • Modification de la présentation
  • Modification des méthodes
  • Modification de l’algorithmique des classes
  • Refonte de la conception.
  • Refactorisation de package
  • A partir d’une modélisation existante, refonte et réalisation d’un cas complet avec l’aide des usages de design patterns de conception

JOUR 5

DÉVELOPPEMENTS PILOTÉS PAR LES TESTS

  • Tests unitaires
  • Test Driven Development (TDD)
  • Mock
  • En mode TDD et itératif, réalisation d’un cas complet nécessitant l’usage de Design Patterns de conception

CONCEPTION ET DÉVELOPPEMENT EN MODE ITÉRATIF

  • Le manifeste agile.
  • SCRUM
  • Particularités SCRUM, XP & AGILE

Architecte logiciel, expert connaissant très bien les problématiques de conception objet et les design patterns de conception.

CETTE FORMATION VOUS INTERESSE ?