Architectuur & Software design – hoe?

Bij trainingen en presentaties die ik geef over DDD, komt altijd de vraag op: maar hoe doe je dat ontwerpen nou precies, welk proces volg je daarvoor? Een logische vraag. En tevens één die lastig te beantwoorden is. Niet dat er helemaal geen antwoorden zijn hoor: er zijn vele ontwerpprocessen, methodologiën en checklists. Maar als je […]

Lees meer >>

Value objects spelen ook maar een rol

De afgelopen dagen had ik een interessante discussie op de DDD mailinglist over value objects. De discussie ging over de niet-wijzigbaarheid (immutability) van value objects. Het vreemde is dat veel ontwikkelaars (in de rol van modelleur) deze niet-wijzigbaarheid benadrukken. Hij komt ook altijd op. Terwijl het volgens mij niet de essentie is.

Lees meer >>

No exceptions made

Naar aanleiding van een bevinding tijdens een interne project code review  en een artikel in het laatste Java Magazine hadden we een interessante discussie over de redenen om exceptions toe te passen. Uiteindelijk kon ik zelf achter twee vuistregels staan, één die ik zelf bedacht had, de ander van een collega. Ik ga bij de […]

Lees meer >>

Hoe werkt JavaScript OO

Object georiënteerd programmeren in JavaScript is synthetisch. Het is mogelijk maar ziet er vreemd uit als je het terug leest. Er zijn verschillende JavaScript bibliotheken die OO programmeren in JavaScript vereenvoudigen maar het blijft niet hetzelfde als bijvoorbeeld Java of C#. Na een hoop programmeren in JavaScript met Ext wilde ik kijken of ik het […]

Lees meer >>

De eigenschappen van properties

Een tijdje geleden had ik een discussie met een collega. deze collega had kritiek ontvangen op zijn code vanwege de binding van data van een object via properties aan een formulier. Dit doorbrak encapsulatie en was geen goede object oriented techniek luidde de kritiek. Vrijwel elke user interface bied slechts mogelijkheden om te binden op […]

Lees meer >>

Modelgedreven ontwikkelstraat in .NET (1): Model

Zoals door mij in een eerdere post aangegeven begin ik bij deze met een serie posts over een modelgedreven ontwikkelstraat in .NET. Ik spreek van ontwikkelstraat maar bedoel hier eigenlijk alleen de client-side tooling binnen visual studio met eventuele extensions in de vorm van een met behulp van DSL Tools gemaakte UML Class diagram kloon. […]

Lees meer >>

Implementeren is modelleren

Net als het schrijven van de code vind modelleren plaats over de gehele duur van het project. In een eerder artikel werden twee regels beschreven die een model erg eenvoudig hielden. Dit gaf een hoop ruimte die tijdens de implementatie ingevuld moet worden. Dat is echter niet erg want goed implementeren is een vorm van […]

Lees meer >>

Algoritmiek

Algoritmiek is het ontwerpen van (efficiente) algoritmen. In deze tijd van buzzwords, patterns en frameworks zouden we bijna vergeten dat dit de basis van het werk van een programmeur is. Een algoritme is een sequentie van instructies die gevolgd moeten worden om een bepaald doel te bereiken. Dit is dus breder dan  instructies voor processoren; […]

Lees meer >>