Strategic Pattern Flashcards
Decorater pattern
Nieuw gedrag aan objecten kunt koppelen door deze objecten in speciale wrapper-objecten te plaatsen die het gedrag bevatten.
Decorators dynamisch at runtime toevoegen. Open/close principe
Adapter pattern
Converteer interface naar andere interace zodat die compatibel worden met elkaar.
zwakke koppeling:
De client weet niets af van de adaptee
Flyweight pattern
Efficiënt gebruik maken van een grote hoeveelheid gelijkaardige objecten.
Onafhankelijk deel: intrinsieke toestand (letters in tekst) = onveranderlijk
afhankelijk deel van de context: extrinsieke toestand (plaats van letter in tekst)
flyweight zijn de intrinsieke toestanden, client verzorgt de extrinsieke toestanden wanneer deze aangeroepen worden.
Minder geheugen nodig maar bijkomende complexiteit flyweight factory
Facade pattern
Vereenvoudigde interface uit een verzameling moeilijkere interfaces
Minder afhankelijkheid objecten maar meer wrapperklassen
Composite pattern + null pattern
Boomstructuren modelleren zodat zowel leaf als composite op dezelfde manier wordt aangeroepen
Leaf: node die geen kinderen kan hebben
Composite: node die wel kinderen kan hebben
Component: gemeenschappelijke interface
Iterator over bladnode is zinloos, daarom toepassen null-patern