Design Patterns - Voordelen & Nadelen

0.0(0)
studied byStudied by 0 people
GameKnowt Play
learnLearn
examPractice Test
spaced repetitionSpaced Repetition
heart puzzleMatch
flashcardsFlashcards
Card Sorting

1/24

encourage image

There's no tags or description

Looks like no tags are added yet.

Study Analytics
Name
Mastery
Learn
Test
Matching
Spaced

No study sessions yet.

25 Terms

1
New cards

Voordelen Decorator

  • Dynamisch verantwoordelijkheden toevoegen aan objecten

  • Vermijden explosie aan klassen

  • Vergemakkelijkt onderhoud

2
New cards

Nadelen Decorator

  • Duur

  • Complexe code

  • Enkel op gebieden die meest kans hebben om te veranderen

3
New cards

Voordelen Bridge

  • Ontkoppelt implementatie van een bepaalde interface

  • Abstractie en implementatie onafhankelijk van elkaar uitbreiden

  • Veranderingen in de concrete klassen van de abstractiehiërarchie hebben geen invloed op de implementaties

4
New cards

Nadelen Bridge

  • Je moet veranderingen brengen aan zowel de interface als aan de implementaties

  • Verhoogt complexiteit

5
New cards

Voordelen Flyweight

  • Verminder aantal objecten at runtime, spaart geheugen

  • Concentreert de toestand van veel virtuele objecten op 1 plaats

6
New cards

Nadelen Flyweight

Losse instanties van de klasse zijn niet in staat zich onafhankelijk te gedragen van de andere instanties

7
New cards

Voordelen Facade

  • Minder afhankelijkheden

  • Beter softwareonderhoud

8
New cards

Nadelen Facade

  • Meer wrapperklassen

    • Complexer

    • Minder performant

9
New cards

Voordelen Prototype

  • Verbergt voor de client de ingewikkelde details van het maken van een nieuwe instantie

  • Geeft de client de mogelijkheid objecten te maken waarvan het type onbekend is

  • Soms is kopiëren efficiënter dan een nieuw object maken

10
New cards

Nadelen Prototype

  • Kopiëren kan ingewikkeld zijn

11
New cards

Voordelen Singleton

  • Minder koppelingen (overal bereikbaar)

12
New cards

Nadelen Singleton

  • Opgelet met thread safety

    • Eventueel delen blokkeren met lock

    • Aanmaken bij het laden van de klasse

  • Zuinig mee omspringen

13
New cards

Voordelen Builder

  • Schermt aanmaak complex object af

  • Biedt mogelijkheid om object in meerdere stappen en wisselende processen aan te maken

  • Verbergt interne representatie van het object

  • Objectimplementaties kunnen wisselen

    • Client kent enkel abstracte interface

  • Director legt de volgorde van constructie op

14
New cards

Nadelen Builder

  • Aanmaken object vereist meer domeinkennis dan bij een Factory

15
New cards

Voordelen Template Method

  • Algoritme is afgeschermd

  • Maximaliseren hergebruik

  • Algoritme op 1 plaats

    • Codeveranderingen op 1 plaats

  • Eenvoudig nieuwe objecten toevoegen

  • Kennis algoritme geconcentreerd in de abstracte klasse

16
New cards

Voordelen Chain of Responsibility

  • Ontkoppelt zender en ontvanger verzoek

  • Ontvangers eenvoudiger

  • Dynamisch verantwoordelijkheden toevoegen en verwijderen

    • Onderdelen van de ketting veranderen

17
New cards

Nadelen Chain of Responsibility

  • Uitvoering van het verzoek is niet gegarandeerd

    • Ketting verlaten zonder afgehandeld te zijn

    • Eventueel

      • Standaard afhandelen

      • Exceptie gooien

  • Gedrag at runtime bekijken of debuggen kan lastig zijn

18
New cards

Voordelen Mediator

  • Verhoogt herbruikbaarheid objecten door ze van het systeem los te koppelen

  • Vereenvoudigt onderhoud van het systeem door de logica op 1 plek onder te brengen

  • Vereenvoudigt en verminderd de verschillende berichten tussen objecten van het systeem verzonden worden

  • Protocol voor objecten

19
New cards

Nadelen Mediator

  • Zonder goed ontwerp kan Mediator-object zelf erg ingewikkeld worden

20
New cards

Voordelen Visitor

  • Bewerkingen toevoegen aan een samenstelling zonder de structuur van de samenstelling te veranderen

  • Nieuwe bewerkingen toevoegen is relatief makkelijk

  • De code voor de bewerkingen (die de Visitor) uitvoert is geconcentreerd op 1 plek

21
New cards

Nadelen Visitor

  • Afscherming klassen uit samenstelling wordt tenietgedaan

  • Wijzigingen in structuur samenstelling leveren meer problemen

22
New cards

Voordelen Interpreter

  • Elke grammaticale regel voorgesteld in klasse

    • Makkelijk taal implementeren

  • Taal makkelijk te wijzigen en uit te breiden

  • Extra methodes aan klassen

    • Nieuw gedrag toevoegen

      • Verfijndere validatie

      • Mooier afdrukken

23
New cards

Nadelen Interpreter

  • Lastig

    • Veel grammaticale regels

    • Beter parser / compiler gebruiken

24
New cards

Voordelen Memento

  • Toestand buiten het hoofdobject bewaren

    • Groter cohesie

  • Gegevens hoofdobject afschermen

  • Makkelijk vorige toestand herstellen

25
New cards

Nadelen Memento

  • Toestand bewaren en herstellen kan veel tijd kosten

    • Eventueel toestand incrementeel bewaren (enkel veranderingen)

    • Eventueel serialisatie overwegen