Decorator
Da Wikipedia, l'enciclopedia libera.
Nella programmazione ad oggetti, il decorator è uno dei pattern fondamentali, definiti originariamente dalla gang of four.
Il design pattern decorator consente di aggiungere metodi a classi esistenti durante il run-time, permettendo una maggior flessibilità nell'aggiungere delle funzionalità agli oggetti. Questo viene realizzato costruendo un nuovo decoratore intorno all'oggetto originale. Normalmente ciò viene realizzato passando l'oggetto originale come parametro al costruttore del decoratore.
[modifica] Struttura di un decorator
- Component: definisce l'interfaccia che aggiunge i metodi dinamicamente.
- ConcreteComponent: definisce l'oggetto concreto al quale aggiungere i metodi.
- Decorator: mantiene un riferimento all'oggetto Component e definisce un'interfaccia conforme all'interfaccia Component.
- ConcreteDecorator: aggiunge i metodi al component.
[modifica] Funzionamento
Il Decorator manda le richieste al Component che può svolgere le operazioni precedenti e successive alla spedizione della richiesta.
In questo modo si ottiene una maggior flessibilità, tanti piccoli oggetti al posto di uno molto complicato, andando a modificare il contorno e non la sostanza di una classe.