Presentatie DesignPatterns Week6
Presentatie DesignPatterns Week6
… en verplaatsen de
‘creation-code’ naar
een methode binnen
deze Factory-class.
De VehicleShop
gebruikt nu de factory
om objecten (Vehicles)
aan te maken.
De VehicleShop verkrijgt
objecten (vehicles) via de
factory.
The Factory Method (GoF): ‘Define an interface
Een “Enchanted”
mazegame hoeft nu
alleen een aantal
Factory-methods te
overschrijven.
Het aanmaken v/d
maze (createMaze)
zelf blijft
ongewijzigd!
The Abstract Factory (GoF): ‘Provide an
Bij de “Abstract
Factory” worden
de objecten via
speciale factories
aangemaakt.
De “BombedMazeFactory”
maakt ‘bombed’ objecten aan,
zoals BombedWall and
RoomWithABomb.
De “EnchantedMazeFactory”
maakt ‘enchanted’ objecten
aan, zoals EnchantedDoor
and EnchantedRoom.
Abstract Factory
Bij de “Abstract
Factory” heb je Zo heb je hier de familie ‘bombed’
hele ‘families’ van objecten… (allemaal aangemaakt
gerelateerde door de BombedMazeFactory)
objecten.
De Maak-methoden in de
(base) MazeFactory class zijn
virtual, zodat ze overschreven
kunnen worden door een
afgeleide Factory class (zoals
de BombedMazeFactory class).
Opdrachten
◼ Zie Moodle: ‘Week 6 opdrachten’