Introducció
aka Wrapper o Adapter pattern
En POO el patró decorator és un patró de disseny que permet afegir comportament (behavior) a un objecte individual ja sigui de forma estàtica o dinàmica sense afectar al comportament de la resta d'objectes de la mateixa classe.
Explicació
S'utilitza per estendre (decorar) la funcionalitat d'un objecte de forma estàtica o en alguns casos en temps d'execució (forma dinàmica). Això s'aconsegueix dissenyant una classe decorator que envolta (wraps) la classe original.
Pasos:
- Subclass the original "Component" class into a "Decorator" class (see UML diagram);
- In the Decorator class, add a Component pointer as a field;
- Pass a Component to the Decorator constructor to initialize the Component pointer;
- In the Decorator class, redirect all "Component" methods to the "Component" pointer; and
- In the ConcreteDecorator class, override any Component method(s) whose behavior needs to be modified.
Decorator vs inheritance
Vegeu també
Enllaços externs