Organisme de Formation aux technologies et métiers de L'informatique

Formation Mettre en œuvre les Design Patterns dans vos applications

Informations générales

DES
5 jours (35h)
2 850 €HT
repas inclus

Objectifs

Après ce cours, vous serez capable de :

  • Identifier les principes fondamentaux de la conception Objet.
  • Appliquer les règles fondamentales de découpage d'une application en package.
  • Appliquer les principes de construction des classes d'une application.
  • Mettre en pratique le développement piloté par les tests.
  • Mettre en œuvre les principaux Design Patterns.

Public

Ce cours s'adresse avant tout aux personnes suivantes :

  • concepteurs
  • développeurs
  • architectes
  • chefs de projet

Prérequis

Pour suivre ce cours, vous devez déjà posséder les connaissances suivantes :

  • Connaissance d'un langage Objet

Programme de la formation

Ce stage vous formera au design des applications et aux pratiques de conception modernes telles que le développement guidé par les tests et le refactoring. Les nombreux cas pratiques vous apprendront à créer des applications évolutives et réutilisables en prenant en compte les principaux patterns de conception.

Travaux pratiques

  • Les ateliers réalisés par les stagiaires seront effectués avec le langage de leur choix (C++, JAVA, C# ou VB.NET).

Présentation du design

  • Rappel des fondamentaux de la POO et d'UML.
  • Les apports d'UML pour la conception.
  • Les enjeux de la conception.
  • L'utilisation de l'héritage. Avantages et inconvénients.

Principes fondamentaux en conception Objet

  • Les principes d'ouverture/fermeture (OCP) et de substitution de Liskov (LSP).
  • Concept de polymorphisme, de couplage faible et de forte cohésion.
  • L'impact de la conception objet sur les projets.
  • Travaux pratiques  Découpage des responsabilités entre les classes.

Principes de construction des classes

  • La gestion des dépendances avec l'inversion de dépendance (DIP).
  • La réduction de la complexité apparente par la séparation des interfaces (ISP).
  • La répartition des responsabilités avec le GRASP.

Principes d'organisation en packages

  • Le package : une unité de conception livraison/réutilisation (REP) et la réutilisation commune (CRP).
  • Le découpage des packages. Le CCP.
  • L'organisation entre packages.
  • Travaux pratiques Construction et hiérarchisation des packages.

Développements pilotés par les tests

  • Approche Test Driven Development (TDD) versus approche Model Driven Engineering (MDE).
  • Ecriture des cas et de suites de tests.
  • Travaux pratiques  Attribution des responsabilités aux composants logiciels via l'approche TDD.

Principes des Design Patterns

  • Les Design Patterns pour réutiliser l'expérience.
  • Périmètre, avantages et limites des Design Patterns.
  • Répondre à des problèmes récurrents.
  • Les patterns fondateurs de Gamma et GoF : les patterns de création, de comportement, de structure.
  • La refactorisation. Pourquoi refactoriser ?
  • Modification de la présentation du code et de l'algorithmique des classes. Refonte de la conception.
  • Travaux pratiques  Exemple de conception, refactorisation et programmation avec des patterns GoF.

Architecture logicielle et patterns architecturaux

  • Des exigences à l'architecture.
  • Styles architecturaux.
  • Patterns de distribution (Client Serveur Style, Data Bus Pattern, Blackboard, Repository).
  • Patterns de conception de systèmes (MVC, architecture en couches, Plug-in Style, Pipeline).

Processus de développement

  • Concevoir dans un processus itératif et incrémental.
  • Le manifeste Agile. XP, Scrum.

 

plus d'infos

Méthode pédagogique

Chaque participant travaille sur un poste informatique qui lui est dédié. Un support de cours lui est remis soit en début soit en fin de cours. La théorie est complétée par des cas pratiques ou exercices corrigés et discutés avec le formateur. Le formateur projette une présentation pour animer la formation et reste disponible pour répondre à toutes les questions.

Méthode d'évaluation

Tout au long de la formation, les exercices et mises en situation permettent de valider et contrôler les acquis du stagiaire. En fin de formation, le stagiaire complète un QCM d'auto-évaluation.

Suivre cette formation à distance

  • Un ordinateur avec webcam, micro, haut-parleur et un navigateur (de préférence Chrome ou Firefox). Un casque n'est pas nécessaire suivant l'environnement.
  • Une connexion Internet de type ADSL ou supérieure. Attention, une connexion Internet ne permettant pas, par exemple, de recevoir la télévision par Internet, ne sera pas suffisante, cela engendrera des déconnexions intempestives du stagiaire et dérangera toute la classe.
  • Privilégier une connexion filaire plutôt que le Wifi.
  • Avoir accès au poste depuis lequel vous suivrez le cours à distance au moins 2 jours avant la formation pour effectuer les tests de connexion préalables.
  • Votre numéro de téléphone portable (pour l'envoi du mot de passe d'accès aux supports de cours et pour une messagerie instantanée autre que celle intégrée à la classe virtuelle).
  • Selon la formation, une configuration spécifique de votre machine peut être attendue, merci de nous contacter.
  • Pour les formations incluant le passage d'une certification la dernière journée, un voucher vous est fourni pour passer l'examen en ligne.
  • Pour les formations logiciel (Adobe, Microsoft Office...), il est nécessaire d'avoir le logiciel installé sur votre machine, nous ne fournissons pas de licence ou de version test.
  • Horaires identiques au présentiel.

Mis à jour le 08/11/2023