|
|
Decorator (1) | Decorator er et designmønster hvormed vi dynamisk kan 'udvide et objekt' med nye egenskaber. |
| Statisk set kan vi tilføje nye egenskaber ved at lave en udvidelse (ved brug af nedarvning mellem klasser). Men dette virker ikke dynamisk, på eksisterende objekter. Ideen bag Decorator er at understøtte udvidelse af eksisterende objekter, på 'run time'. |
![]() | Et prototypisk eksempel på Decorator designmønstret, hvor en tekst dekoreres med ramme og scrollbar. Kæden af objekter, hvor de forreste to dekorerer text view objektet. Når der opereres på aBorderDecorator tegnes kanten, hvorefter aScrollDecorator tilsendes samme besked. Når der opereres på aScrollDecorator tegnes scroll bars, hvorefter aTextView sendes samme besked. Når der opereres på aTextView tegnes det tekstuelle syn på objekter (det egentlige arbejde) |
|