Creational (4)
Factory
Objecten aanmaken zonder te weten bij welke klasse ze horen
De subklassen van de Creator zorgen ervoor dat de factory method een instantie return van het
gewenste ConcreteProduct
Product: interface
ConcreteProduct: implementeert interface
Creator: declares de factory method, returnt object van type Product
ConcreteCreator: overrides factory method en returnt object van type ConcreteProduct
Builder
Complexe objecten stapje voor stapje bouwen waarbij de stapjes kunnen variëren
Client maakt Director object en configureert het met het gewenste Builder object. Director vertelt
Builder wanneer er een part van Product gemaakt moet worden. Builder neemt request van
director aan en voegt part to aan product. Client ontvangt product van de Builder
Builder: abstracte interface
ConcreteBuilder: implementeert interface en assembleert de parts van product
Director: bouwt object met Builder interface
Product: het complexe object dat gebouwd wordt
Jet Wardenier
, Singleton
Je hebt maar één globale instance met een acces point
Client heeft toegang tot de Singleton instance alleen dmv de Singleton’s instance operation.
Singleton: zorgt voor acces van zijn unique instance. Kan zijn eigen unique instance creëren.
Prototype
Een volledig initialiseert object die gekopieerd kan worden
Client vraagt prototype om zichzelf te klonen.
Protoype: declares interfaces for cloning itself
concretePrototype: implements operation for cloning itself
Client: maakt nieuw object
Jet Wardenier
Factory
Objecten aanmaken zonder te weten bij welke klasse ze horen
De subklassen van de Creator zorgen ervoor dat de factory method een instantie return van het
gewenste ConcreteProduct
Product: interface
ConcreteProduct: implementeert interface
Creator: declares de factory method, returnt object van type Product
ConcreteCreator: overrides factory method en returnt object van type ConcreteProduct
Builder
Complexe objecten stapje voor stapje bouwen waarbij de stapjes kunnen variëren
Client maakt Director object en configureert het met het gewenste Builder object. Director vertelt
Builder wanneer er een part van Product gemaakt moet worden. Builder neemt request van
director aan en voegt part to aan product. Client ontvangt product van de Builder
Builder: abstracte interface
ConcreteBuilder: implementeert interface en assembleert de parts van product
Director: bouwt object met Builder interface
Product: het complexe object dat gebouwd wordt
Jet Wardenier
, Singleton
Je hebt maar één globale instance met een acces point
Client heeft toegang tot de Singleton instance alleen dmv de Singleton’s instance operation.
Singleton: zorgt voor acces van zijn unique instance. Kan zijn eigen unique instance creëren.
Prototype
Een volledig initialiseert object die gekopieerd kan worden
Client vraagt prototype om zichzelf te klonen.
Protoype: declares interfaces for cloning itself
concretePrototype: implements operation for cloning itself
Client: maakt nieuw object
Jet Wardenier