Design patterns decorator pattern

12
Decorator Design Patterns

Transcript of Design patterns decorator pattern

Page 1: Design patterns  decorator pattern

DecoratorDesign Patterns

Page 2: Design patterns  decorator pattern

SIDAOUI Abdelfahem Email: [email protected] http://www.sidaoui.tk

réalisé par:

Page 3: Design patterns  decorator pattern

Un décorateur permet d'attacher dynamiquement de nouveaux comportements ou responsabilités à un objet. Les décorateurs offrent une alternative assez souple à l'héritage pour composer de nouvelles fonctionnalités.

Introduction

Page 4: Design patterns  decorator pattern

Diagramme de classes

Page 5: Design patterns  decorator pattern

ComposantAbstrait : Définit l'interface ou une classe abstraite qui représente le composant abstrait à décorer.

ComposantConcret : Implémentation de l’interface qui représente le composant concret à décorer et qui correspondant aux fonctionnalités souhaitées à la base.

DecorateurAbstrait : Interface ou classe abstraite qui définit le décorateur abstrait et contient une référence vers un objet Abstraction.

Responsabilités

Page 6: Design patterns  decorator pattern

DecorateurConcretImpl1 et DecorateurConcretImpl2 :

Représentent les décorateurs concrets des composants

Les décorateurs ont un constructeur acceptant un objet ComposantAbstrait.

Les méthodes des décorateurs appellent la même méthode de l'objet qui a été passée au constructeur.

La décoration ajoute des responsabilités en effectuant des opérations avant et/ou après cet appel.

Responsabilités

Page 7: Design patterns  decorator pattern

La partie cliente manipule un objet Abstraction.

En réalité, cet objet Abstraction peut être: un objet ComposantConcret ou un objet DecorateurConcret. Ainsi, des fonctionnalités supplémentaires

peuvent être ajoutées à la méthode d'origine. Ces fonctionnalités peuvent être par exemple

des traces de log ou une gestion de buffer pour des entrées/sorties.

Responsabilités

Page 8: Design patterns  decorator pattern

Implémentation

Page 9: Design patterns  decorator pattern

Implémentation

Page 10: Design patterns  decorator pattern

Implémentation

Page 11: Design patterns  decorator pattern

Implémentation

Page 12: Design patterns  decorator pattern

Merci pour votre attention