Java patterns Introductie tot GoF patterns in Java
Lectuur GoF boek James Cooper Bruce Eckel
Wat ? Een design pattern is een standaard oplossing voor een veel voorkomend design probleem Drie types (GoF) Creational : patterns om objecten te creeren Structural : patterns om objecten samen te stellen Behavioral : patterns om onderling gedrag van objecten te regelen, alle andere dus…
Creational Factory objecten creeren via factory interface Abstract Factory factory creeren via factory-factory interface Singleton klasse waarvan slechts 1 object bestaat Builder scheiding van object constructie en voorstelling Prototype objecten creeren door basisobject te klonen
Factory pattern Wat ? Objecten creeren via ander object (factory) i.p.v. rechtstreeks via constructor Wanneer ? Klasse van object nog niet gekend at compile-time Creatie van object overlaten aan subklasse Creatie = complex proces (bv. pool)
Factory pattern Opgave (Cooper) Eenvoudige Namer klasse : splitst volledige naam op in voornaam en achternaam Twee mogelijke inputs : Piet Hein Hein,Piet Factory selecteert een correcte Namer klasse afhankelijk van input (FirstFirst of LastFirst)
Singleton pattern Wat ? Aantal instantiaties van een klasse beperken tot 1 (of enkele) Wanneer ? Meestal opgelegd door het model zelf Dure objecten
Singleton pattern Opgave( Eckel ) Creeer singleton klasse Singleton Methoden : getInstance() geeft singleton object terug int getValue() geeft waarde void setValue( int value ) zet waarde Schrijf test waarin je singleton opvraagt, waarde checkt, verandert, opnieuw singleton opvraagt,…
Singleton pattern Opgave( Eckel ) Creer pool van TCP connecties Connection interface ConnectionPool : gebruikt PoolManager PoolManager : managet pool van objecten ConnectionImplementation