Design Principles Flashcards

(16 cards)

1
Q

Wat houdt het principe ‘Encapsulate what varies’ in?

A

Het scheiden van delen die waarschijnlijk zullen veranderen van stabiele delen in de code.

Voordelen zijn onder andere beheersbaarheid, flexibiliteit, makkelijker testen, herbruikbaarheid en ondersteuning van abstractie.

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

Noem drie voordelen van ‘Encapsulate what varies’.

A
  • Beheersbaarheid en Veiligheid
  • Flexibiliteit bij verandering
  • Makkelijker testen en debuggen
  • Herbruikbaarheid en Modulariteit
  • Ondersteunt abstractie
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Wat is het ‘Single Responsibility Principle’ (SRP)?

A

Een klasse moet slechts één verantwoordelijkheid hebben of één reden om te veranderen.

Dit zorgt ervoor dat alle methoden en eigenschappen van de klasse direct gerelateerd zijn aan die verantwoordelijkheid.

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

Noem vier voordelen van het ‘Single Responsibility Principle’.

A
  • Betere Onderhoudbaarheid
  • Verbeterde Leesbaarheid en Begrijpbaarheid
  • Hogere Testbaarheid
  • Betere Herbruikbaarheid
  • Lagere koppeling & Hogere Cohesie
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Wat suggereert het principe ‘Favor Composition over Inheritance’?

A

Samenstelling (composition) heeft de voorkeur boven overerving (inheritance).

Dit helpt bij het creëren van flexibele en herbruikbare objecten.

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

Noem twee voordelen van ‘Favor Composition over Inheritance’.

A
  • Flexibiliteit
  • Vermijden van Problemen met Meervoudige Overerving
  • Losse Koppeling
  • Hogere herbruikbaarheid
  • Bevordering van encapsulatie
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Wat houdt het principe ‘Only talk to your friends’ in?

A

Een object moet alleen direct communiceren met zijn directe vrienden, zoals eigen velden en methoden.

Dit vermindert afhankelijkheden en versterkt encapsulatie.

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

Noem twee voordelen van het principe ‘Only talk to your friends’.

A
  • Vermindert Koppeling
  • Verbeterde Encapsulatie
  • Grotere onderhoudbaarheid
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Wat betekent ‘Strive for loosely coupled designs between objects that interact’?

A

Componenten van een systeem moeten zo onafhankelijk mogelijk van elkaar werken. Verandereingen in één component moeten zo min mogelijk tot geen impact hebben op andere componenten.

Dit zorgt ervoor dat veranderingen in één component minimale impact hebben op andere componenten.

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

Noem drie voordelen van losse koppeling tussen objecten.

A
  • Flexibiliteit
  • Onderhoudbaarheid
  • Herbruikbaarheid
  • Testbaarheid
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Wat is een voorbeeld van een slechte implementatie van losse koppeling?

A

Een klasse die zelf een instantie van een andere klasse aanmaakt.

Dit leidt tot strakke koppeling.

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

Wat is een goede aanpak voor het bereiken van losse koppeling?

A

Gebruik van interfaces en abstracties om interacties te definiëren.

Dit zorgt ervoor dat objecten elkaar niet rechtstreeks kennen.

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

Vul in: Een klasse moet slechts één _______ hebben of één reden om te veranderen.

A

[verantwoordelijkheid]

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

Vul in: ‘Favor composition over inheritance’ suggereert dat samenstelling de voorkeur heeft boven _______.

A

[overerving]

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

Vul in: Het principe ‘Only talk to your friends’ minimaliseert de _______ tussen objecten.

A

[afhankelijkheden]

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

Vul in: Losse koppeling betekent dat componenten van een systeem zo _______ mogelijk van elkaar werken.

A

[onafhankelijk]