Ce support présente de façon concise et pratique les 23 modèles de conception (Design Patterns) fondamentaux en les illustrant par des exemples pertinents et rapides à appréhender. Chaque exemple est décrit en UML et en C# sous la forme d´un petit programme complet et exécutable. Pour chaque pattern, l´auteur détaille son nom, le problème correspondant, la solution proposée, ses domaines d´application et sa...
Ce support présente de façon concise et pratique les 23 modèles de conception (Design Patterns) fondamentaux en les illustrant par des exemples pertinents et rapides à appréhender. Chaque exemple est décrit en UML et en C# sous la forme d´un petit programme complet et exécutable. Pour chaque pattern, l´auteur détaille son nom, le problème correspondant, la solution proposée, ses domaines d´application et sa structure générique.
Le support s´adresse aux concepteurs et développeurs en Programmation Orientée Objet. Pour bien l´appréhender, il est préférable de disposer de connaissances sur les principaux éléments des diagrammes de classes UML et sur le langage C# (à partir de la version 3.0).
Le support est organisé en trois parties qui correspondent aux trois familles des patterns de conception : les patterns de construction, les patterns de structuration et les patterns de comportement.
Un chapitre présente trois variantes de patterns existants, montrant la grande souplesse de mise en œuvre de ces modèles.
Cette nouvelle édition du livre introduit une présentation du pattern MVC (Model-View-Controller) illustré par un exemple s'appuyant sur le framework Blazor.
4. Comment choisir et utiliser un pattern de conception pour résoudre un problème
5. Organisation du catalogue des patterns de conception
Une étude de cas : la vente en ligne de véhicules
1. Description du système
2. Cahier des charges
3. Prise en compte des patterns de conception
Introduction aux patterns de construction
1. Présentation
2. Les problèmes liés à la création d’objets
2.1 Problématique
2.2 Les solutions proposées par les patterns de construction
Le pattern Abstract Factory
1. Description
2. Exemple
3. Structure
3.1 Diagramme de classes
3.2 Participants
3.3 Collaborations
4. Domaines d’utilisation
5. Exemple en C#
Le pattern Builder
1. Description
2. Exemple
3. Structure
3.1 Diagramme de classes
3.2 Participants
3.3 Collaborations
4. Domaines d’utilisation
5. Exemple en C#
Le pattern Factory Method
1. Description
2. Exemple
3. Structure
3.1 Diagramme de classes
3.2 Participants
3.3 Collaborations
4. Domaines d’utilisation
5. Exemple en C#
Le pattern Prototype
1. Description
2. Exemple
3. Structure
3.1 Diagramme de classes
3.2 Participants
3.3 Collaboration
4. Domaines d’utilisation
5. Exemple en C#
Le pattern Singleton
1. Description
2. Exemple
3. Structure
3.1 Diagramme de classe
3.2 Participant
3.3 Collaboration
4. Domaine d’utilisation
5. Exemples en C#
5.1 La liasse vierge
5.2 La classe Vendeur
Introduction aux patterns de structuration
1. Présentation
2. Composition statique et dynamique
Le pattern Adapter
1. Description
2. Exemple
3. Structure
3.1 Diagramme de classes
3.2 Participants
3.3 Collaborations
4. Domaines d’application
5. Exemple en C#
Le pattern Bridge
1. Description
2. Exemple
3. Structure
3.1 Diagramme de classes
3.2 Participants
3.3 Collaborations
4. Domaines d’application
5. Exemple en C#
Le pattern Composite
1. Description
2. Exemple
3. Structure
3.1 Diagramme de classes
3.2 Participants
3.3 Collaborations
4. Domaines d’application
5. Exemple en C#
Le pattern Decorator
1. Description
2. Exemple
3. Structure
3.1 Diagramme de classes
3.2 Participants
3.3 Collaborations
4. Domaines d’application
5. Exemple en C#
Le pattern Facade
1. Description
2. Exemple
3. Structure
3.1 Diagramme de classes
3.2 Participants
3.3 Collaborations
4. Domaines d’application
5. Exemple en C#
Le pattern Flyweight
1. Description
2. Exemple
3. Structure
3.1 Diagramme de classes
3.2 Participants
3.3 Collaborations
4. Domaine d’application
5. Exemple en C#
Le pattern Proxy
1. Description
2. Exemple
3. Structure
3.1 Diagramme de classes
3.2 Participants
3.3 Collaborations
4. Domaines d’application
5. Exemple en C#
Introduction aux patterns de comportement
1. Présentation
2. Distribution par héritage ou par délégation
Le pattern Chain of Responsibility
1. Description
2. Exemple
3. Structure
3.1 Diagramme de classes
3.2 Participants
3.3 Collaborations
4. Domaines d’application
5. Exemple en C#
Le pattern Command
1. Description
2. Exemple
3. Structure
3.1 Diagramme de classes
3.2 Participants
3.3 Collaborations
4. Domaines d’application
5. Exemple en C#
Le pattern Interpreter
1. Description
2. Exemple
3. Structure
3.1 Diagramme de classes
3.2 Participants
3.3 Collaborations
4. Domaines d'application
5. Exemple en C#
Le pattern Iterator
1. Description
2. Exemple
3. Structure
3.1 Diagramme de classes
3.2 Participants
3.3 Collaborations
4. Domaines d’application
5. Exemple en C#
Le pattern Mediator
1. Description
2. Exemple
3. Structure
3.1 Diagramme de classes
3.2 Participants
3.3 Collaborations
4. Domaines d’application
5. Exemple en C#
Le pattern Memento
1. Description
2. Exemple
3. Structure
3.1 Diagramme de classes
3.2 Participants
3.3 Collaborations
4. Domaines d’application
5. Exemple en C#
Le pattern Observer
1. Description
2. Exemple
3. Structure
3.1 Diagramme de classes
3.2 Participants
3.3 Collaborations
4. Domaines d’application
5. Exemple en C#
Le pattern State
1. Description
2. Exemple
3. Structure
3.1 Diagramme de classes
3.2 Participants
3.3 Collaborations
4. Domaines d’application
5. Exemple en C#
Le pattern Strategy
1. Description
2. Exemple
3. Structure
3.1 Diagramme de classes
3.2 Participants
3.3 Collaborations
4. Domaines d’application
5. Exemple en C#
Le pattern Template Method
1. Description
2. Exemple
3. Structure
3.1 Diagramme de classes
3.2 Participants
3.3 Collaborations
4. Domaines d’application
5. Exemple en C#
Le pattern Visitor
1. Description
2. Exemple
3. Structure
3.1 Diagramme de classes
3.2 Participants
3.3 Collaborations
4. Domaines d’application
5. Exemple en C#
Compositions et variations de patterns
1. Préliminaire
2. Le pattern Pluggable Factory
2.1 Introduction
2.2 Structure
2.3 Exemple en C#
3. Reflective Visitor
3.1 Discussion
3.2 Structure
3.3 Exemple en C#
4. Le pattern Multicast
4.1 Description et exemple
4.2 Structure
4.3 Exemple en C#
4.4 Discussion : comparaison avec le pattern Observer
Le pattern composite MVC
1. Introduction au problème
2. Le pattern composite MVC
3. Le framework Blazor
4. Exemple en C#
4.1 Introduction
4.2 Architecture
4.3 Étude du code
Exercices
1. Énoncés des exercices
1.1 Création de cartes de paiement
1.1.1 Création en fonction du client
1.1.2 Création à l’aide d’une fabrique
1.2 Autorisation des cartes de paiement
1.3 Système de fichiers
1.4 Browser graphique d’objets
1.5 États de la vie professionnelle d’une personne
1.6 Cache d’un dictionnaire persistant d’objets
2. Correction des exercices
2.1 Création de cartes de paiement
2.1.1 Création en fonction du client
2.1.2 Création à l’aide d’une fabrique
2.2 Autorisation des cartes de paiement
2.3 Système de fichiers
2.4 Browser graphique d’objets
2.5 États de la vie professionnelle d’une personne
2.6 Cache d’un dictionnaire persistant d’objets
Index
Laurent DEBRAUWER
Laurent DEBRAUWER est docteur en informatique de l'Université de Lille 1. Spécialiste de l'approche par objets, il enseigne les Design Patterns à l'université du Luxembourg. Il dirige également les sociétés Objectland et Securiquest.