Upload
berrylangerak
View
569
Download
0
Tags:
Embed Size (px)
Citation preview
Berry Langerak
Werkt voor Ayavo B.V. als technische man. Voorzitter van PFZ.nl. Event manager voor PFZ.nl. 10 jaar ervaring in PHP, waarvan 8 in OO.
Design Patterns
Abstracte oplossingen voor abstracte problemen.
Gaaf, maar gebruik met mate en verstand. Je moet wel een probleem hebben om op te
lossen.
Strategy pattern
Stiekem gewoon polymorpisme at runtime.
Gedrag (drastisch) aan te passen.
Doet me denken aan legoblokjes.
<<Implements>>
Context
ContextInterface()
Strategy
<<interface>>
AlgorithmInterface()
ConcreateStrategyA
<<implementation>>
AlgorithmInterface()
ConcreateStrategyB
<<implementation>>
AlgorithmInterface()
Containment
<<Implements>>
Singleton
Echt zo niet handig. Testen jullie wel
eens? Voor de volledigheid,
dan. Het koppelt
implementatie aan interface.
Observer pattern
Observer “kijkt” naar wijzigingen van een subject.
Handig om gedrag toe te voegen, zonder object aan te passen.
Werkt vaak heel prettig voor plugins.
Chain-of-responsibility pattern
Gedrag definiëren door middel van een “ketting van objecten”.
Handig om gedrag te kunnen hergebruiken.
Adapter pattern
Verloopstukje, ongeveer. Als een interface niet aansluit, gebruik je een adapter.
Erg handig om verschillende libraries “aan elkaar te knopen”.