Immagina un'interfaccia semplice Controller
(come nel controllo di processo). Ho alcune classi concrete, diciamo PIDController
, che la implementano. Ho anche alcune classi di decoratori che estendono queste classi in qualche modo, diciamo ITAETuningDecorator
.
Ora immagina che una classe FloodGate
abbia un campo Controller
privato. Mi piacerebbe, dall'esterno e in fase di runtime, allegare al Controller
in FloodGate
a ITAETuningDecorator
. Come posso farlo? Non ho accesso al campo dall'esterno e ovviamente il decoratore ha bisogno di un riferimento al controller originale da costruire.