Design patterns incontournables dans la conception de tout projet objet

But de la formation

Utiliser les design patterns indispensables et les plus utilisés dans une solution orientée-objet.

Description

Les design patterns (patrons de conception) sont des solutions orientées objet connues et éprouvées pour des problèmes de conception récurrent. Ils ont l’avantage d’être indépendants du langage de programmation, assurent une modularité du système et permettent une facilité d’évolution. Ils représentent un vocabulaire commun à l'expertise des concepteurs et favorisent le transfert de connaissances entre les concepteurs experts et novices.

Objectifs

- Décrire les différentes catégories de patterns.
- Appliquer les meilleures pratiques architecturales par des solutions éprouvées dans vos applications.
- Appliquer les patterns les plus utiles (parmi les 23 design patterns du catalogue de Gamma : un "best-seller" en développement objet)
afin d'accélérer sa maturité en conception objet.
- Mettre en oeuvre (voir note ci-bas) ceux qui sont incontournables pour tout projet.

Note : Les laboratoires pourront se faire en C#, Java ou C++.

Méthodologie

Exposé interactif (40%), laboratoires (60%)

Clientèle visée

Professionnel et technicien spécialisés en TI

Particularité

Le participant doit avoir une bonne expérience dans un language de programmation orienté-objet et
doit posséder une bonne connaissance des diagrammes de classes en UML.

Approche méthodologique pour chaque design pattern (par laboratoire) :
- Le modèle générique du pattern est exposé en un diagramme de classe UML indépendamment de tout langage de programmation et de tout contexte d’application.
- Un exemple d’application du patron avec un exemple pratique et complet est présenté avant chaque laboratoire.

Contenu

Catégories des design patterns :

  • Création
  • Structuration
  • Comportement

Élements d'un design pattern et règles de documentation en industrie

Patterns de création d’objets :

  • Fabrication (Factory Method)
  • Fabrique abstraite (Abstract Factory)
  • Monteur (Builder)
  • Singleton

Patterns de structuration (composition des objets pour obtenir de nouvelles fonctionnalités et identification des structures de classes abstraites et évolutives) :

  • Adaptateur (Adapter)
  • Composite
  • Façade (Facade)
  • Procuration (Proxy)

Patterns de gestion des comportements (coopérations évolutives et découplées) :

  • Commande (Command)
  • Itérateur (Iterator)
  • Observateur (Observer)
  • Stratégie (Strategy)
  • Patron de méthode (Template method)
Michel de Champlain

Michel de Champlain

Ph. D.

Michel de Champlain possède 36 ans d’expérience dans la programmation, dont 29 ans avec le langage C++, 20 ans avec Java et 14 ans avec C#. Depuis 25 ans, il est un conférencier pour les systèmes embarqués (embedded systems) et il enseigne les technologies objet depuis 1988. Il a déjà formé plusieurs milliers de personnes au Québec, au Canada, aux États-Unis, en Europe et en Nouvelle-Zélande. Il est responsable du créneau Développement logiciel embarqué chez ETS Formation et a conçu le langage objet B# (BSharpLanguage.org) pour faciliter le développement dans ce domaine.