Behavorial Patterns Flashcards

1
Q

Strategy pattern

A

Familie van algoritmen, isoleren & uitwisselbaar maken door interfaces en compositie

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Template pattern + hooks

A

Skelet van een algoritme in de superklasse definieert, maar subklassen toestaat specifieke stappen te overschrijven. Template methoden zijn final en kunnen niet gewijzigd worden.

Hook:
een hook is een stap in het algoritme waar een subklasse de optie heeft om die te overriden. Als dat niet gebeurt, heeft de basisklasse een defaultimplementatie (die kan ook leeg zijn).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Memento pattern + twee interfaces?

A

Huidige toestand van een object opslaan zodat die kan herstelt worden.

Originator: object waarvan toestand opgeslagen en hersteld moet worden.
Caretaker: toestand van de originator willen bijhouden en kunnen terugzetten
Memento: object dat toestand van originator bijhoudt

De Caretaker mag de inhoud van een Memento niet veranderen! Daarom moet de Memento eigenlijk twee interfaces hebben: een ‘smalle’ voor de Caretaker, en een ‘brede’ voor de Originator.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Iterator pattern + intern & extern

A

Object dat verantwoordelijk is om de verzameling elementen te overlopen. Zo koppelen we client los van de concrete implementatie

Externe: de iterator zorgt voor het opschuiven
interne:de client is verantwoordelijk voor het opschuiven

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Command pattern & undo?

A

Verandert een verzoek in een zelfstandig object dat alle verzoeken bevat.

Command interface: een methode Undo() toevoegen
ConcreteCommand: een methode Undo() toevoegen
Invoker: attributen voorzien voor de Undo-commando’s

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Chain Responsability pattern + onderdelen

A

Verzoeken doorsturen langs een keten van handlers. Bij ontvangst van een request beslist elke afhandelaar of hij het request verwerkt of doorgeeft aan de volgende afhandelaar in de keten.

Client: stuurt het verzoek, naar een abstracte Handler.
Handler: interface die de Client en concrete handlers van elkaar loskoppelt. Elke Handler heeft een verwijzing naar een opvolger.
ConcreteHandler: een concrete implementatie van een Handler

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Observer pattern, push-pull-model?

A

Objecten kunnen zich abonneren op berichten van een ander object.

subject:
het object dat berichten stuurt (de ‘uitgever’)
observer:
een object dat de berichten van het subject ontvangt (de ‘abonnee’) Observers kunnen zich op elk moment abonneren, of hun abonnement weer opzeggen.

Push-model:
verpak de door te geven data in een object
Observable: notifyObservers(data)
Observer:
update(Observable o, Object data)

Pull-model:
omgekeerd push-model
Oberver gaat data opvragen bij Observable

How well did you know this?
1
Not at all
2
3
4
5
Perfectly