Dit is het vervolg van Visitor. Het voorbeeld uit het Design patterns boek van de Gang of Four is bijzonder goed. Een ander voorbeeld word gebruikt om een acyclic visitor uit te leggen in http://www.objectmentor.com/resources/articles/acv.pdf. Dit artikel is een verder uitstekende uitleg van een van de problemen van het visitor pattern. Echter is het gekozen voorbeeld in mijn ogen ongelukkig. Namelijk het configureren van modems voor verschillende platforms.

Het configureren van een klasse zal vaak betrekking hebben op de private members van een klasse. Het visitor pattern is hiervoor niet goed geschikt. Immers de visitor is een externe klasse die alleen het publieke interface kan gebruiken. Nu zijn er natuurlijk allerlei manieren om hier omheen te werken. Bijvoorbeeld extra getters en setters toevoegen op private members, een wel erg grote concessie. Of de visitor een friend maken, een nog grotere concessie. Geen van de opties zijn erg aantrekkelijk.

Write comment (0 Comments)

Het visitor design pattern komt zo nu en dan boven drijven als mogelijke oplossing. Vaak blijkt het dan niet de juiste oplossing te zijn, simpelweg omdat de naam (visitor) verwarrend is. Vaak zijn de voorbeelden op het internet niet overtuigend en ontstaat de neiging om direct naar de problemen van het pattern te kijken.

Om een compleet beeld te krijgen start ik hier met het uitwerken van een concreet probleem. De initiƫle oplossing kan dan gerefactored worden tot het visitor pattern. Deze uiteindelijke oplossing dient dan als basis voor een verdere discussie.

Write comment (0 Comments)

Hier moeten wat uitgewerkte IT problemen komen. Misschien ga ik iets doen aan de hand van: https://projecteuler.net/

Write comment (0 Comments)