Design patterns : résumé

45
DESIGN PATTERNS

Transcript of Design patterns : résumé

Page 1: Design patterns : résumé

DESIGN PATTERNS

Page 3: Design patterns : résumé

ABSTRACT FACTORY

Page 4: Design patterns : résumé

Abstract Factory

Fournir une interface pour créer des objets d'une même famille sans préciser leurs classes concrètes.

¨Permet d'isoler l'appartenance à une famille de classes.

Résultats

Objectifs

Page 5: Design patterns : résumé

Abstract Factory – Diagramme de classes

Page 6: Design patterns : résumé

BUILDER

Page 7: Design patterns : résumé

Builder

• Séparer la construction d'un objet complexe de sa représentation.

Permet d'isoler des variations de représentations d'un objet.

• Permettre d'obtenir des représentations différentes avec le même procédé de construction.

Résultats

Objectifs

Page 8: Design patterns : résumé

Builder – Diagramme de classes

Page 9: Design patterns : résumé

COMPOSITE

Page 10: Design patterns : résumé

Composite

• Organiser les objets en structure arborescente afin de représenter une hiérarchie

Permet d'isoler l'appartenance à un agrégat

• Permettre à la partie cliente de manipuler un objet unique et un objet composé de la même manière

Résultats

Objectifs

Page 11: Design patterns : résumé

Composite– Diagramme de classes

Page 12: Design patterns : résumé

DECORATOR / WRAPPER

Page 13: Design patterns : résumé

Decorator/Wrapper

• Ajouter dynamiquement des responsabilités (non obligatoires) à un objet

Permet d'isoler les responsabilités d'un objet

• Eviter de sous classer la classe pour rajouter ces responsabilités

Résultats

Objectifs

Page 14: Design patterns : résumé

Decorator/Wrapper – Diagramme de classes

Page 15: Design patterns : résumé

FACADE

Page 16: Design patterns : résumé

Facade

• Fournir une interface unique en remplacement d'un ensemble d'interfaces d'un sous-système

Permet d'isoler les fonctionnalités d'un sous-système utiles à la partie cliente

• Définir une interface de haut niveau pour rendre le sous-système plus simple d'utilisation

Résultats

Objectifs

Page 17: Design patterns : résumé

Facade– Diagramme de classes

Page 18: Design patterns : résumé

MEDIATOR

Page 19: Design patterns : résumé

Mediator

• Gérer la transmission d'informations entre des objets interagissant entre eux

Permet d'isoler la communication entre des objets

• Avoir un couplage faible entre les objets puisqu'ils n'ont pas de lien direct entre eux

Résultats

Objectifs

• Pouvoir varier leur interaction indépendamment

Page 20: Design patterns : résumé

Mediator– Diagramme de classes

Page 21: Design patterns : résumé

STATE

Page 22: Design patterns : résumé

State

• Changer le comportement d'un objet selon son état interne

Permet d'isoler les algorithmes propres à chaque état d'un objet

Résultats

Objectifs

Page 23: Design patterns : résumé

State– Diagramme de classes

Page 24: Design patterns : résumé

STRATEGY

Page 25: Design patterns : résumé

Strategy

• Définir une famille d'algorithmes interchangeables

Permet d'isoler les algorithmes appartenant à une même famille d'algorithmes

• Permettre de les changer indépendamment de la partie cliente

Résultats

Objectifs

Page 26: Design patterns : résumé

Strategy– Diagramme de classes

Page 27: Design patterns : résumé

TEMPLATE METHOD

Page 28: Design patterns : résumé

Template Method

• Définir le squelette d'un algorithme en déléguant certaines étapes à des sous-classes

Permet d'isoler les parties variables d'un algorithmeRésultats

Objectifs

Page 29: Design patterns : résumé

Template Method – Diagramme de classes

Page 30: Design patterns : résumé

COMMAND

Page 31: Design patterns : résumé

Command

• Encapsuler une requête sous la forme d'objet

Permet d'isoler une requêteRésultats

Objectifs

• Paramétrer facilement des requêtes diverses

• Permettre des opérations réversibles

Page 32: Design patterns : résumé

Command– Diagramme de classes

Page 33: Design patterns : résumé

OBSERVER

Page 34: Design patterns : résumé

Observer

• Prévenir des objets observateurs, enregistrés auprès d'un objet observé, d'un événement

Permet d'isoler un algorithme traitant un événement

Résultats

Objectifs

Page 35: Design patterns : résumé

Observer– Diagramme de classes

Page 36: Design patterns : résumé

PROXY

Page 37: Design patterns : résumé

Proxy

• Fournir un intermédiaire entre la partie cliente et un objet pour contrôler les accès à ce dernier

Permet d'isoler le comportement lors de l'accès à un objet

Résultats

Objectifs

Page 38: Design patterns : résumé

Proxy– Diagramme de classes

Page 39: Design patterns : résumé

BRIDGE

Page 40: Design patterns : résumé

Bridge

• Découpler l'abstraction d'un concept de son implémentation

Permet d'isoler le lien entre une couche de haut niveau et celle de bas niveau

Résultats

Objectifs

• Permettre à l'abstraction et l'implémentation de varier indépendamment

Page 41: Design patterns : résumé

Bridge– Diagramme de classes

Page 42: Design patterns : résumé

ADAPTER

Page 43: Design patterns : résumé

Adapter

• Convertir l'interface d'une classe dans une autre interface comprise par la partie cliente

Permet d'isoler l'adaptation d'un sous-système

Résultats

Objectifs

• Permettre à des classes de fonctionner ensemble, ce qui n'aurait pas été possible sinon (à cause de leurs interfaces incompatibles)

Page 44: Design patterns : résumé

Adapter/héritage– Diagramme de classes

Page 45: Design patterns : résumé

Adapter/Composition– Diagramme de classes