Deze week liet ik aan een collega (Rob Vens) een aantal testen zien voor een recent project van mijn hand. Hij vond ze wel mooi om te zien en ik bedacht me dat ik deze nog niet gedeeld heb met mijn collega’s en andere geïnteresseerden. Dus dat leek me mooi om hier ook even uit [...]
Lees verder >>
Auteur archief
Test op test op test
06 februari 2011Architectuur & Software design – hoe?
09 januari 2011
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 verder >>
Lees verder >>
TDD_should_be_fun().Again()
15 november 2010
De serious game waarin je begeleid wordt in test-driven design (TDD) heeft nu een nieuwe versie, met meerdere games. Op dit moment moet je nog steeds een google account hebben om er gebruik van te kunnen maken: http://sogyotdd.appspot.com/ (let op: niet een google apps account!). Je kunt wel even een kijkje nemen zonder in te loggen [...]
Lees verder >>
Lees verder >>
TDD_should_be_fun()
10 september 2010
In een zoektocht naar een serious game waar je als ontwikkelaar ook iets van leert, heb ik een kleine game op de AppEngine gebouwd waarin je begeleid wordt in test-driven design (TDD). Op dit moment moet je een google account hebben om er gebruik van te kunnen maken: http://sogyotdd.appspot.com/ (let op: niet een google apps account!)
Er [...]
Lees verder >>
Lees verder >>
Value objects spelen ook maar een rol
12 augustus 2010
De afgelopen dagen had ik een interessante discussie op de DDD mailinglist over value objects.
Value objects: “These are the objects that describe things” [Uit: DDD, Evans]
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 [...]
Lees verder >>
Lees verder >>
No exceptions made
20 juli 2010
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 [...]
Lees verder >>
Lees verder >>
CQRS & de bijkomende architectuur
09 maart 2010
In mijn vorige blogpost deed ik in de voetnoten een voorstel om de architectuur die vaak meekomt met het patroon CQRS anders te noemen. Ik dacht aan een “Circular Architecture” om hem duidelijk te contrasteren met een “Layered Architecture”. Na een korte discussie met Greg Young en Alistair Cockburn hierover besloot ik om het idee [...]
Lees verder >>
Lees verder >>
CQRS && Validatie && Business Rules
04 maart 2010
Validatie en business rules binnen een CQRS architectuur [1][2] blijven onderwerpen die vragen oproepen voor degenen die er voor het eerst van horen. Drie specifieke vragen worden daarover vaak gesteld: hoe werkt de validatie van commands, hoe kun je business rules afdwingen over grote collections (state) en hoe werkt het afdwingen van business rules over aggregates [...]
Lees verder >>
Lees verder >>
Vakmanschap
18 februari 2010
De laatste tijd duikt de term vakmanschap (craftsmanship) regelmatig op. Achter deze term gaat veel schuil denk ik. Ik vermoed dat het voor iedereen wat anders betekent. Waarschijnlijk één van de redenen van haar populariteit. In een poging om er enige helderheid in te brengen, schrijf ik deze post. We hebben besloten dat we hier [...]
Lees verder >>
Lees verder >>
Domain model Reporting, Sir!
04 februari 2010
In deze post beschrijf ik een praktijk case van het ontwerp van rapportage functionaliteit op een model gedreven applicatie. De applicatie is in een zonnebloemmodel opgebouwd rond een object-georiënteerd domeinmodel, wat tot nu toe een voornamelijk actief model is wat gedreven en niet de alomtegenwoordige CRUD functionaliteit biedt. De bedoeling is dat dat ook zo [...]
Lees verder >>
Lees verder >>

