Design Patterns Flashcards
(28 cards)
Wat is een factory?
Een factory is een functie, methode of klasse die iets creëert, meestal objecten.
Noem twee voordelen van het gebruik van een factory.
- Scheiding van creatie en gebruik
- Losse koppeling
- Eenvoudig wisselen van implementaties
- Betere testbaarheid
- Centrale controle over creatieproces
- Open/closed principe
Wat is een creation method?
Een methode die objecten creëert, vaak een wrapper voor de constructor.
Wat is het doel van een static creation method?
Om een creatiemethode aan te roepen zonder een objectinstantie van de klasse te creëren.
Wanneer gebruik je het Simple Factory Pattern?
- Eenvoudige objectcreatie centraliseren
- Voorbereiding op complexere patronen
- Beperking van directe new-aanroepen
Wat is het verschil tussen Factory Method en Abstract Factory?
Factory Method maakt één producttype aan via subklassen; Abstract Factory maakt meerdere gerelateerde producttypes aan.
Wat is het doel van het Strategy Pattern?
Om gedrag los te koppelen van de context en flexibel uitwisselbaar te maken.
Wat is de rol van de Context in het Strategy Pattern?
De Context gebruikt een IStrategy-object om gedrag uit te voeren zonder de implementatie te kennen.
Wat is het Repository Pattern?
Een structureel patroon dat een abstractielaag introduceert tussen de domeinlaag en de datalaag.
Wat is het doel van een repository?
De toegang tot gegevens structureren en loskoppelen van de applicatielogica.
Wat zijn de componenten van de structuur van het Repository Pattern?
- IRepository (interface)
- ConcreteRepository
- Domeinlaag (Client)
- Gegevensbron
Wat doet de IUserRepository interface?
Definieert methodes voor gegevensbeheer zoals GetById, Add en Remove.
Vul in: Het ________ is een creationeel ontwerpprincipe dat een interface biedt voor de creatie van objecten.
Factory Method Pattern
Wat is een concrete implementatie in het Abstract Factory Pattern?
- ConcreteFactory1
- ConcreteFactory2
Wat is een voordeel van het gebruik van factories in unit tests?
Betere testbaarheid door het eenvoudiger maken van mocks of fakes.
Wat is een ConcreteCreator in het Factory Method Pattern?
Een subklasse die bepaalt welk product gecreëerd wordt.
Wat is het doel van de Abstract Factory?
Families van gerelateerde objecten maken zonder hun specifieke klassen te kennen.
Wat retourneert de repository in plaats van raw data?
Objecten
Dit maakt het werken met data gemakkelijker en meer gestructureerd.
Waarom kan de repository eenvoudig gemockt worden tijdens tests?
Omdat deze verwisselbaar is zonder impact op de businesslaag.
Hoe is de logica losgekoppeld van de specifieke implementatie van gegevensopslag?
Door het gebruik van interfaces.
Wat is het verschil tussen een principle en een pattern?
- Principle: Abstracte richtlijn voor goed objectgeoriënteerd ontwerp.
- Pattern: Concreet herbruikbare oplossing voor een terugkerend ontwerpprobleem.
Wat schendt het Simple Factory pattern vaak?
Single Responsibility Principle
Hoe verplaatst het Factory Method pattern objectcreatie?
Naar subklassen.
Wat is een kenmerk van het Abstract Factory pattern?
Elke Factory klasse heeft één taak: een familie object creëren.