Creational Patterns Flashcards

1
Q

Builder Pattern + Telescoping constructor anti pattern

A

Wordt gebruikt bij de creatie van complexe objecten en scheidt het creatieproces van een object af van het object zelf. Dit laat toe om met eenzelfde creatieproces verschillende objectvarianten kan maken.

Met en zonder director (Verantwoordelijk voor het aansturen van Builder klassen)

TC Anti pattern:
soms heeft een klasse veel constructors. Dwz dat de constructie van een object niet eenvoudig is. Met het Builder Pattern kun je het constructieproces voor een client vereenvoudigen.

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

Object Pool Pattern

A

een beperkte verzameling (= een pool) van gelijkaardige objecten die je wilt ter beschikking stellen van de rest van het programma. De objecten worden door de pool “uitgeleend” aan clients. Als een client een object niet meer nodig heeft, dan geeft die het terug aan de pool, zodat het opnieuw gebruikt kan worden.

Performantiewinst als instantiëren poolobject hoog is & lang duurt

Nadelen:
client moet poolobject expliciet vrijgeven na gebruik (propere begintoestand)

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

Factory Method Pattern

A

Creatie van objecten zonder beperking door new(). Verschillende factories aan behoefte client.

Client beslist at runtime welke factory

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

Abstract Factory Pattern

A

Creatie van objecten zonder beperking door new(). Verschillende factories aan behoefte client. Maar de clients hebben niet 1 type objecten nodig, maar meerdere types.

Client beslist at runtime welke factory

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

Singleton Pattern

A

Ervoor zorgen dat van een klasse slechts één instantie wordt gecreëerd, zorgt ervoor dat de toegang slechts via 1 globaal toegangspunt gebeurt.

Multithread problemen oplossen met static methode of synchronized. Ook gebruik enum mogelijk.

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