bauworld title

Patterns

1 - Decorator Pattern

Il Decorator Pattern ha il ompito di aggiungere dinamicamente nuovi stati e comportamenti ad un oggetto. L'oggetto non "sa" che viene "decorato" e questo è ciò che rende utile il Decorator Pattern in sistemi che si evolvono. Il punto chiave del Decorator Pattern è che il "decoratore" sia eredita sia contiene la classe che viene "decorata".

Di seguito il diagramma UML delle classi che realizzano il Decorator Pattern:

Component - definisce l’interfaccia implementata dagli oggetti ai quali vengono aggiunte dinamicamente nuove responsabilità.
Concrete Component - definisce un oggetto al quale possono essere aggiunte le nuove responsabilità.
Decorator - mantiene il riferimento all'oggetto Component e definisce una interfaccia conforme a quella del Component.
Concrete Decorator - aggiunge responsabilità ai Component.

Analisi del codice

Il programma implementa un Decorator Pattern per creare delle politiche commerciali non note a priori.
...

Di seguito l'interfaccia ICommercialPolicy e i Concrete Component che la utilizzano (OrderPolicy e ItemPolicy) :

Scarica l'esempio

decorator.rar