Wat opvalt bij alles wat geschreven is over OO-programmeren en design patterns,
is dat het uitgangspunt vrijwel altijd het design pattern zelf is en dat daarbij
het gebruik wordt getoond. Dit heeft tot gevolg dat de materie de neiging heeft
om behoorlijk vaag te blijven. Wel het hoe, niet het waarom.
De intentie van deze site is het omgekeerde, je hebt een probleem of een programma
structuur die niet wenselijk is, je bent je hiervan bewust, omdat het niet goed
aanvoelt. Wat kun je doen, hoe kun je anticiperen op de problemen die komen gaan,
zodat je ze kunt vermijden voordat je er daadwerkelijk mee geconfronteerd wordt?
Hiervoor kun je design patterns gebruiken, geheel in de lijn van het gestructureerd
programmeren, om de kwaliteit van je programma aanzienlijk te verbeteren en de code
inzichtelijker te maken. Met als bijkomstigheid, dat het ontwikkelproces een stuk
sneller gaat, omdat je weet welke strategieën je kunt gebruiken om je doelen te
bereiken. Waarom en hoe.
Om te beginnen kun je een aantal vuistregels voor OO-programmeren vaststellen.
Vermijd het gebruik van globale variabelen.
Alleen het object dat een ander object heeft aangemaakt mag daar vragen aan stellen,
andersom niet (geen kruisverwijzingen).
Als een object op de hoogte moet zijn van veranderingen elders in de applicatie,
zorg dan dat dit object bekend maakt dat het op de hoogte wil worden gebracht van
veranderingen op die plek, ipv dat het object daar zelf gaat kijken.
Een object dat zich in een ander object bevindt mag zich daar niet van bewust zijn.
Gebruik een gespecialiseerde class om een Object
aan te maken. Indien een object op meerdere plaatsen wordt aangemaakt. Een
object vaak wordt aangemaakt. Het meerdere handelingen vereist bij het aanmaken
van het object, die voor het gebruik van dit object minder relevant zijn. Als
een object door een gespecialiseerde class wordt aangemaakt, is het verstandig om
alleen de interface van dit aangemaakte object terug te geven.
Indien het aanmaken van een object meerdere handelingen vereist, of het niet toegestaan
is dit zelf te doen, kun je dit weer het best door een gespecialiseerd object
laten doen.
|