0% ont trouvé ce document utile (0 vote)
49 vues3 pages

Design Patterns

Les Design Patterns sont des solutions génériques et réutilisables à des problèmes de conception logicielle, classés en trois familles : créationnels, structurels et comportementaux. Ils offrent des avantages tels que la réutilisabilité et la maintenabilité, mais peuvent introduire une surcomplexité s'ils sont mal utilisés. Il est essentiel de savoir quand et comment les appliquer pour simplifier le code sans en faire une obligation.

Transféré par

tarekmechtaoui80
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
49 vues3 pages

Design Patterns

Les Design Patterns sont des solutions génériques et réutilisables à des problèmes de conception logicielle, classés en trois familles : créationnels, structurels et comportementaux. Ils offrent des avantages tels que la réutilisabilité et la maintenabilité, mais peuvent introduire une surcomplexité s'ils sont mal utilisés. Il est essentiel de savoir quand et comment les appliquer pour simplifier le code sans en faire une obligation.

Transféré par

tarekmechtaoui80
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Résumé : Design Patterns

1. Définition et Utilité des Design Patterns


Définition :
Un Design Pattern est une solution générique, éprouvée et réutilisable à un problème
récurrent de conception logicielle. Ce n’est pas un code prêt-à-copier, mais un modèle
conceptuel.
Exemple : Le pattern Singleton garantit qu’une classe n’a qu’une seule instance.

Utilité :
– Réutilisabilité : Évite de réinventer la roue.
– Maintenabilité : Code mieux structuré et documenté.
– Communication : Vocabulaire commun entre développeurs (ex : “On utilise un
Observer ici”).

2. Classification des Design Patterns (GoF)


Les 23 patterns du livre “Design Patterns : Elements of Reusable Object-Oriented
Software” (GoF, 1994) sont classés en 3 familles :

gray !20 Catégo-


Problème Résolu Exemples
rie
Singleton, Factory, Buil-
Créationnels Instanciation d’objets
der
Adapter, Decorator,
Structurels Composition des objets
Proxy
Observer, Strategy, Com-
Comportementaux Interaction entre objets
mand

Remarque :
– Portée : Certains patterns s’appliquent aux classes (héritage), d’autres aux objets
(composition).
– GoF = “Gang of Four” (les 4 auteurs du livre).

1
3. Avantages et Inconvénients
Avantages :
– Flexibilité : Adaptables à différents contextes.
– Best Practices : Solutions optimisées par l’expérience.
Inconvénients :
– Surcomplexité : Si utilisés inutilement (“golden hammer”).
– Courbe d’apprentissage : Nécessitent de la pratique.

4. Exemples Clés (Problèmes/Solutions)


Strategy (Comportemental)
Problème : Changer un algorithme dynamiquement.
Solution : Interface commune + implémentations interchangeables.

Diagramme UML :
[Client] --> [Strategy] (interface)
^-- [ConcreteStrategyA]
^-- [ConcreteStrategyB]

Singleton (Créationnel)
Problème : Une seule instance d’une classe (ex : connexion DB).
Solution : Constructeur privé + méthode getInstance().

5. Points Importants du Podcast (UQAM)


Quand utiliser un pattern ?
– Quand le problème correspond exactement au contexte du pattern.
– Exemple : Observer pour notifier des objets d’un événement.
Faut-il toujours en utiliser ?
– Non ! Ils ne sont pas obligatoires. Utiliser seulement si cela simplifie le code.
Pourquoi plus de patterns “objet” que “classe” ?
– La composition (objets) est plus flexible que l’héritage (classes).

6. Ressources Complémentaires
Livres :
– GoF (1994) : Référence académique, 23 patterns.
– Head First Design Patterns : Approche pédagogique, 16 patterns.
Vidéos :
– Podcast UQAM (objectifs des patterns).
– Pattern Strategy (exemple concret).

2
À Retenir pour l’Examen
– Définir un pattern et justifier son utilisation.
– Classer un pattern (créationnel/structurel/comportemental).
– Citer avantages/inconvénients.
– Diagramme UML simple (ex : Strategy, Singleton).
– Critique : Savoir quand éviter les patterns.

Vous aimerez peut-être aussi