Passando attraverso Decorator Pattern da Wikipedia 1 e leggendo il pattern di Head First Book. Una cosa che mi ha colpito e che manca a entrambe le fonti potrebbe essermi sfuggita.
Perché esattamente abbiamo bisogno di un'interfaccia Decorator?
- È perché abbiamo bisogno di mettere tutti i Decoratori in cemento sotto l'ombrello categorico.
Supponiamo che se avessimo solo pochi decoratori (< 5), non li possiamo semplicemente sublocassare direttamente da Component Interface. Termini da wikipedia UML Quindi Decorator memorizzerà il riferimento di Component Interface Type e chiamerà il comportamento direttamente della Concrete Component dopo aver aggiunto qualcosa in più. Questa è la stessa cosa degli esempi del Primo libro.
Un altro motivo per cui posso pensare a Putting a Decorator Interface è avere il supporto di runtime per aggiungere questi decoratori attraverso Factory. Questa è l'unica ragione per cui posso fare.
Chiedendo a un pubblico più ampio, L'interfaccia Decorater in Decorator Design Pattern è solo per fornire supporto dinamico tramite Factory o c'è dell'altro.