IMPORTANT: Per accedir als fitxer de subversion: http://acacha.org/svn (sense password). Poc a poc s'aniran migrant els enllaços. Encara però funciona el subversion de la farga però no se sap fins quan... (usuari: prova i la paraula de pas 123456)

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