Design patterns

Deze set met flashcards behandelt verschillende ontwerp patronen in de computerwetenschappen, met uitleg van belangrijke termen en concepten die relevant zijn voor programmeurs op hbo-niveau.

Owl71·48 flashcards·48 vragen
hbocomputer_scienceprogramming
0
Ken ik
1 / 48
0
Aan het leren
Voorkant

Singleton patroon

Tik om om te draaien
Achterkant

Zorgt ervoor dat er maar één instantie van een klasse is. Dit is nuttig voor het beheren van gedeelde bronnen.

Tik om om te draaien
Ken ik
Aan het leren

Quiz(48 vragen)

Vraag 1 van 48

1. Wat beschrijft het Observer patroon?

Termen in deze set(48)

Creational Patterns(16)

Singleton patroon

Zorgt ervoor dat er maar één instantie van een klasse is. Dit is nuttig voor het beheren van gedeelde bronnen.

Wat is een Factory Method?

Een methode die een object creëert zonder de exacte klasse van het object te specificeren.

Prototype patroon

Dit patroon maakt het mogelijk om objecten te kopiëren via een prototypisch object. Efficiënt voor complexe objectstructuren.

Waarvoor dient het Abstract Factory patroon?

Het biedt een interface voor het creëren van families van gerelateerde of afhankelijke objecten zonder hun klassen te specificeren.

Waar of niet waar: Singleton creëert meerdere instanties.

Niet waar. Singleton zorgt ervoor dat er altijd maar één instantie is.

Wat is het voordeel van het Builder patroon?

Het scheidt de constructie van een complex object van zijn representatie, waardoor dezelfde constructie verschillende representaties kan opleveren.

Factory vs Abstract Factory

Factory creëert één type object, Abstract Factory creëert families van objecten.

Wat is het doel van het Builder patroon?

Om complexe objecten stap voor stap te construeren, zodat de uiteindelijke representatie varieert.

Wat doet de `clone()` methode?

Het is een veelgebruikte techniek in het Prototype patroon. Hiermee wordt een exacte kopie van een object gemaakt.

Prototype voorbeeld

Stel je voor dat je een tekenprogramma hebt. Je kunt een basisvorm (prototype) maken en deze kopiëren.

Wat is Lazy Initialization?

Een techniek waarbij een object pas wordt aangemaakt wanneer het daadwerkelijk nodig is, vaak gebruikt in het Singleton patroon.

Creational patronen focus

Ze richten zich op het maken van objecten terwijl ze de logica verbergen van welke klassen daadwerkelijk worden geïnstantieerd.

Wat zijn de voordelen van het gebruik van ontwerp patronen?

Ze bevorderen herbruikbaarheid, onderhoudbaarheid en begrijpelijkheid van de code.

Wat is een concrete implementatie van het Factory Method?

Een `ShapeFactory` klasse die `createShape()` methode heeft die een `Circle` of `Square` kan retourneren.

Wat is het verschil tussen een concrete klasse en een abstracte klasse?

Een concrete klasse kan worden geïnstantieerd, terwijl een abstracte klasse dat niet kan.

Wat is de hoofdreden om het Singleton patroon te gebruiken?

Om te zorgen voor een enkel toegangspunt tot een bepaalde instantie van een object.

Structural Patterns(16)

Wat is het Adapter patroon?

Een patroon dat de interface van een klasse aanpast aan een andere interface. Dit maakt samenwerking tussen incompatibele interfaces mogelijk.

Wat is het Decorator patroon?

Een structuurpatroon dat gedrag of functionaliteit aan objecten toevoegt zonder de structuur van de oorspronkelijke klasse te wijzigen. Dit kan dynamisch en flexibel zijn.

Wat is het Composite patroon?

Een patroon dat objecten in boomstructuren organiseert om een hiërarchie van samenstellingen te creëren. Het behandelt individuele objecten en samenstellingen op dezelfde manier.

Welke patronen zijn gericht op klasse-compositie?

Voorbeelden zijn: - Adapter - Decorator - Composite - Proxy

Wat is een Proxy patroon?

Een structuurpatroon dat een vervangende of tussenliggende klasse biedt voor een ander object. Dit kan gebruikt worden voor extra functionaliteit zoals lazy loading of beveiliging.

Bij welk patroon kun je een boomstructuur gebruiken?

Bij het Composite patroon, waar je zowel bladeren als takken in dezelfde structuur behandelt.

Vul de lege plek in: Het ______ patroon voegt functionaliteit toe aan objecten zonder ze te wijzigen.

Decorator

Waarvoor wordt het Adapter patroon gebruikt?

Om verschillende interfaces compatibel te maken, waardoor samenwerkingsproblemen tussen objecten worden opgelost.

Wat is het verschil tussen Adapter en Proxy?

Adapter past interfaces aan; Proxy controleert toegang tot het object.

Wat is het Façade patroon?

Een patroon dat een vereenvoudigde interface biedt voor een complex systeem. Het verbergt de complexiteit en maakt het gebruik eenvoudiger.

Hoe werkt het Composite patroon?

Het laat je toe om individuele objecten en groepen van objecten op dezelfde manier te behandelen, bijvoorbeeld in een bestandsysteem.

Vervang de term: Proxy → ______

Vertegenwoordiger

Wat is de functie van een Decorator?

Voegt dynamisch nieuwe functionaliteit toe aan objecten zonder hun structuur te veranderen.

Bij welk patroon gebruik je vaak interfaces?

Bij het Adapter patroon, dat meerdere interfaces kan ondersteunen.

Wat is een voorbeeld van het gebruik van een Façade?

Een eenvoudigere interface voor een ingewikkeld subsysteem, zoals een bibliotheek voor complexe wiskundige berekeningen.

Wat doet een Composite?

Het organiseert objecten in een boomstructuur, zodat ze als één geheel kunnen worden behandeld.

Behavioral Patterns(16)

Wat is het Observer patroon?

Het Observer patroon definieert een één-op-veel relatie tussen objecten. Wanneer het subject verandert, worden alle afhankelijken (waarnemers) automatisch op de hoogte gesteld.

Vraag: Wat doet het Strategy patroon?

Het Strategy patroon stelt een algoritme in staat om te variëren onafhankelijk van de clients die het gebruiken.

Waarvoor staat het Command patroon?

Het Command patroon encapsuleert een verzoek in een object. Hierdoor kunnen verzoeken worden opgeslagen, genoteerd en teruggedraaid.

Vul in: Het __ patroon verbergt de complexiteit van een systeem.

Het Mediator patroon.

True or False: Het Memento patroon maakt het mogelijk om objecten te herstellen naar een eerdere staat.

True. Het Memento patroon biedt een manier om de interne staat van een object op te slaan.

Vergelijk het Observer en het Mediator patroon.

Observer: Eén-op-veel relatie. Mediator: Beheert communicatie tussen objecten.

Wat is het Template Method patroon?

Het Template Method patroon definieert de structuur van een algoritme, waarbij sommige stappen kunnen worden geherdefinieerd door subklassen.

Geef een voorbeeld van het Visitor patroon.

Bijvoorbeeld, een belastingcalculator die verschillende soorten elementen in een belastingaangifte bezoekt.

Vraag: Wat is het Chain of Responsibility patroon?

Dit patroon stelt meerdere objecten in staat om een verzoek te behandelen zonder dat de afzender weet wie het behandelt.

Vul in: Het __ patroon is nuttig voor het implementeren van undo-functionaliteit.

Het Command patroon.

Wat is het Interpreter patroon?

Het Interpreter patroon biedt een grammatica voor de representatie van een taal en een interpreter om deze grammatica te verwerken.

True or False: Het State patroon kan de toestand van een object veranderen.

True. Het State patroon stelt een object in staat om zijn gedrag te veranderen wanneer zijn interne toestand verandert.

Wat doet het Iterator patroon?

Het Iterator patroon biedt een manier om door een collectie van objecten te itereren zonder de interne structuur bloot te stellen.

Vergelijk het State en het Strategy patroon.

State: Verandert gedrag op basis van toestand. Strategy: Verandert algoritme zonder de context te wijzigen.

Wat is het Visitor patroon?

Het Visitor patroon stelt je in staat om nieuwe operaties toe te voegen aan objectstructuren zonder de objecten zelf te wijzigen.

Vul in: Het __ patroon maakt gebruik van encapsulatie voor communicatie.

Het Command patroon.

Vragen in deze set(48)

1. Wat beschrijft het Observer patroon?

A.Het definieert een één-op-veel relatie tussen objecten.
B.Het encapsuleert verzoeken in een object.
C.Het biedt een manier om door een collectie van objecten te itereren.
D.Het maakt gebruik van encapsulatie voor communicatie.

2. Wat is het doel van het Adapter patroon?

A.Om interfaces compatibel te maken.
B.Om objecten te verbergen.
C.Om objecten te versleutelen.
D.Om functies te optimaliseren.

3. Wat is het doel van het Singleton patroon?

A.Zorgen voor slechts één instantie van een klasse
B.Meerdere instanties van een klasse creëren
C.Objecten in batches aanmaken
D.Complexe objecten stap voor stap opbouwen

4. Wat is de functie van het Strategy patroon?

A.Het stelt een algoritme in staat om te variëren onafhankelijk van de clients.
B.Het beheert de communicatie tussen objecten.
C.Het biedt de structuur van een algoritme voor subklassen.
D.Het maakt objecten herbruikbaar in verschillende contexten.

5. Welk patroon voegt functionaliteit toe aan een object zonder de originele klasse te wijzigen?

A.Decorator
B.Adapter
C.Façade
D.Proxy

6. Wat is een kenmerk van het Factory Method patroon?

A.Het maakt een object aan zonder de exacte klasse te specificeren
B.Het creëert altijd één type object
C.Het is altijd abstract
D.Het maakt gebruik van prototypes

7. Wat is het belangrijkste kenmerk van het Command patroon?

A.Het encapsuleert een verzoek in een object.
B.Het biedt een grammatica voor taalrepresentatie.
C.Het definieert de structuur van een algoritme.
D.Het beheert de toestand van een object.

8. Wat is een belangrijk kenmerk van het Composite patroon?

A.Het organiseert objecten in hiërarchieën.
B.Het versleutelt gegevens.
C.Het optimaliseert netwerkverkeer.
D.Het maakt interfaces eenvoudiger.

9. Waarvoor wordt het Prototype patroon gebruikt?

A.Om objecten te kopiëren via een prototypisch object
B.Om meerdere instanties te maken
C.Om objecten te vernietigen
D.Om objecten in een array op te slaan

10. Wat doet het Mediator patroon?

A.Het verbergt de complexiteit van een systeem.
B.Het biedt een manier om verzoeken te behandelen.
C.Het maakt gebruik van verschillende algoritmes.
D.Het verandert de toestand van een object.

11. Wat is een voorbeeld van het Façade patroon?

A.Een systeem dat een complexe database aanstuurt.
B.Een interface voor een complexe wiskundebibliotheek.
C.Een netwerkprotocol.
D.Een gebruikersauthenticatiesysteem.

12. Wat is een kenmerk van het Abstract Factory patroon?

A.Het creëert families van gerelateerde objecten
B.Het kan slechts één type object maken
C.Het is altijd een singleton
D.Het maakt gebruik van een prototype

13. Vul in: Het __ patroon maakt het mogelijk om objecten naar een eerdere staat te herstellen.

A.Memento
B.State
C.Visitor
D.Chain of Responsibility

14. Welke van de volgende patronen is GEEN structuurpatroon?

A.Observer
B.Decorator
C.Composite
D.Adapter

15. Waar of niet waar: Lazy Initialization creëert altijd een object bij het starten van de applicatie.

A.Niet waar
B.Waar
C.Dit is een kenmerk van het Singleton patroon
D.Dit is een eigenschap van het Factory patroon

16. True or False: Het Iterator patroon maakt de interne structuur van een collectie zichtbaar.

A.False
B.True
C.Onbekend
D.Niet relevant

17. Wat doet een Proxy patroon?

A.Biedt een vervangende klasse voor toegang tot een object.
B.Voegt functionaliteit toe aan een object.
C.Organiseert objecten in een boomstructuur.
D.Vereenvoudigt een complexe interface.

18. Wat is een voordeel van het Builder patroon?

A.Het scheidt de constructie van een complex object van zijn representatie
B.Het creëert alleen enkelvoudige objecten
C.Het vereist altijd een prototype
D.Het maakt gebruik van abstracte klassen

19. Wat is een voorbeeld van het Visitor patroon?

A.Een belastingcalculator die verschillende belastingelementen bezoekt.
B.Een object dat zijn toestand opslaat.
C.Een systeem dat algoritmes varieert.
D.Een object dat verzoeken afhandelt.

20. Bij welk patroon zie je vaak het gebruik van interfaces?

A.Adapter
B.Composite
C.Façade
D.Decorator

21. Wat is het verschil tussen Factory en Abstract Factory?

A.Factory maakt één type object, Abstract Factory creëert een familie van objecten
B.Factory maakt objecten met prototypes, Abstract Factory niet
C.Factory is altijd een singleton, Abstract Factory niet
D.Factory en Abstract Factory zijn hetzelfde

22. Wat kunnen we zeggen over het State patroon?

A.Het kan de toestand van een object veranderen.
B.Het beheert communicatie tussen verschillende objecten.
C.Het definieert een algoritme.
D.Het maakt gebruik van encapsulatie.

23. Welke van de volgende beschrijvingen is van toepassing op het Decorator patroon?

A.Voegt functionaliteit toe zonder de basisstructuur te wijzigen.
B.Beheert de toegang tot een object.
C.Organiseert objecten in een boomstructuur.
D.Vereenvoudigt een complexe interface.

24. Wat doet de `clone()` methode in het Prototype patroon?

A.Maakt een exacte kopie van een object
B.Verwijdert een object
C.Creëert een nieuw object zonder specificatie
D.Geeft informatie over een object

25. Wat doet het Chain of Responsibility patroon?

A.Het stelt meerdere objecten in staat om een verzoek te behandelen.
B.Het biedt een structuur voor algoritmes.
C.Het verandert de manier waarop een object zijn toestand beheert.
D.Het verbetert de communicatie tussen objecten.

26. Wat is het Composite patroon vooral nuttig voor?

A.Beheer van complexe objecten in hiërarchieën.
B.Versleuteling van gegevens in een systeem.
C.Optimalisatie van netwerkverkeer.
D.Vereenvoudigen van gebruikersinterfaces.

27. Wat is een voorbeeld van het gebruik van het Factory Method?

A.Een ShapeFactory klasse die vormen maakt
B.Een klasse die enkelvoudige objecten maakt
C.Een klasse die prototypes beheert
D.Een klasse die de applicatie start

28. Wat is de rol van het Template Method patroon?

A.Het definieert de structuur van een algoritme met aanpasbare stappen.
B.Het maakt het mogelijk om objecten te bezoeken.
C.Het encapsuleert verzoeken in een object.
D.Het beheert de toestand van verschillende objecten.

29. Welk van de volgende patronen is bedoeld om toegang te controleren?

A.Proxy
B.Façade
C.Adapter
D.Composite

30. Wat is de rol van een abstracte klasse?

A.Kan niet worden geïnstantieerd
B.Kan altijd worden geïnstantieerd
C.Is altijd een singleton
D.Is altijd een prototype

31. Vergelijk het Observer en het Mediator patroon. Wat is niet juist?

A.Observer heeft een één-op-veel relatie, Mediator beheert communicatie.
B.Mediator heeft een één-op-veel relatie, Observer beheert communicatie.
C.Beide patronen helpen bij het organiseren van objectinteracties.
D.Beide patronen kunnen worden gebruikt om complexiteit te verminderen.

32. Wat is de rol van de Façade in een softwaresysteem?

A.Biedt een eenvoudige interface voor complexe systemen.
B.Voegt nieuwe functionaliteit toe aan bestaande klassen.
C.Controleert de toegang tot objecten.
D.Organiseert objecten in een boomstructuur.

33. Wat is de belangrijkste reden om het Singleton patroon te gebruiken?

A.Om te zorgen voor één toegangspunt tot een object
B.Om meerdere instanties te creëren
C.Om objecten in groepen te organiseren
D.Om complexiteit te verbergen

34. Welk patroon is nuttig voor het implementeren van undo-functionaliteit?

A.Command
B.State
C.Iterator
D.Visitor

35. Bij welk patroon kunnen zowel bladeren als takken worden behandeld?

A.Composite
B.Adapter
C.Decorator
D.Proxy

36. Welke van de volgende patronen is GEEN creational patroon?

A.Observer patroon
B.Singleton patroon
C.Factory Method
D.Builder patroon

37. Wat is de functie van het Interpreter patroon?

A.Het biedt een grammatica voor de representatie van een taal.
B.Het beheert de toestand van objecten.
C.Het definieert de structuur van algoritmes.
D.Het ondersteunt de communicatie tussen objecten.

38. Wat is de belangrijkste functie van een Decorator?

A.Voegt dynamisch functionaliteit toe aan objecten.
B.Beheert de toegang tot een object.
C.Organiseert objecten in een hiërarchie.
D.Biedt een eenvoudige interface voor complexiteit.

39. Wat is een voorbeeld van Lazy Initialization?

A.Een object wordt aangemaakt wanneer het voor het eerst wordt opgevraagd
B.Een object wordt altijd aangemaakt bij het opstarten
C.Een object wordt direct gekopieerd
D.Een object wordt altijd in een array opgeslagen

40. Wat beschrijft het Visitor patroon het best?

A.Het voegt operaties toe aan objectstructuren zonder wijzigingen aan de objecten zelf.
B.Het encapsuleert verzoeken in een object.
C.Het definieert de structuur van een algoritme.
D.Het biedt een tussenpersoon voor objectcommunicatie.

41. Wat is het belangrijkste verschil tussen een Adapter en een Proxy?

A.Adapter past interfaces aan; Proxy controleert toegang.
B.Adapter controleert toegang; Proxy past interfaces aan.
C.Beide zijn hetzelfde.
D.Beide zijn structuurpatronen.

42. Wat is het doel van creational patronen?

A.Het maken van objecten met verborgen logica
B.Het verwijderen van objecten
C.Het opslaan van objecten
D.Het organiseren van objecten in lijsten

43. Wat is een kenmerk van het State patroon?

A.Het verandert het gedrag van een object op basis van zijn toestand.
B.Het beheert verzoeken tussen verschillende objecten.
C.Het definieert een grammatica voor taalrepresentatie.
D.Het biedt een manier om door een collectie te itereren.

44. Welke van de volgende patronen maakt gebruik van een boomstructuur?

A.Composite
B.Decorator
C.Façade
D.Proxy

45. Wat is de functie van een concrete klasse?

A.Deze kan worden geïnstantieerd
B.Deze kan niet worden geïnstantieerd
C.Deze is altijd abstract
D.Deze is alleen voor prototypes

46. Welk patroon stelt je in staat om verschillende manieren van gedrag te implementeren, afhankelijk van de toestand van een object?

A.State patroon
B.Strategy patroon
C.Command patroon
D.Observer patroon

47. Wat is het belangrijkste doel van het Façade patroon?

A.Een vereenvoudigde interface bieden voor een complex systeem.
B.De structuur van een klasse wijzigen om compatibiliteit te waarborgen.
C.Extra functionaliteit toevoegen aan bestaande objecten zonder ze te wijzigen.
D.Een hiërarchie van objecten op te zetten in een boomstructuur.

48. Wat is een kenmerk van het Builder patroon?

A.Het scheidt de constructie van een complex object van zijn representatie.
B.Het maakt altijd gebruik van een prototype.
C.Het creëert objecten zonder enige vorm van configuratie.
D.Het is alleen nuttig voor eenvoudige objecten.

Gerelateerde sets

Maak je eigen studieset

Upload een PDF, plak je notities of beschrijf een onderwerp – AI genereert flashcards, quizzen en meer in seconden.