Berichten met de tag ‘Domain Driven Design’

Test op test op test

06 februari 2011
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 >>

Architectuur & 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 >>

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 >>

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 >>

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 >>

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 >>

Het nieuwe paradigma?

17 januari 2010
Binnen software ontwikkelland ontstaat meer en meer aandacht voor event gebaseerde systemen. Bertrand Meyer schreef hier in 2003 al een artikel over event driven design. Gregory Young heeft met zijn CQRS benadering van systeembouw een interessante structuur neergezet. Binnen Sogyo hebben we inmiddels ook de eerste event gedreven implementaties in de praktijk toegepast. De voorlopige conclusies [...]
Lees verder >>

Een aspect van het Observer patroon

02 januari 2009
Ik wil hier graag een aspect van het Observer-patroon bespreken. Het Observer-patroon bespreekt hoe een object kan aangeven dat het veranderd is, zonder harde koppelingen te maken. In het boek “Design Patterns” van de Gang of Four (GoF) wordt een aanvulling besproken. Het behandelt de situatie, dat een Observer alleen geïnteresseerd is in een bepaald [...]

Ontkoppeling

19 oktober 2008
Dijkstra heeft ons jaren terug al verteld dat we koppeling in onze software laag moeten houden maar zaken die bijelkaarhoren moeten groeperen (high cohesion). Dit komt kort gezegd neer op goede indeling van verschillende onderdelen van software zodat onderdelen beter onafhankelijk van elkaar kunnen worden ontwikkeld en onderhouden. We zien dit bijvoorbeeld in object georienteerde [...]
Lees verder >>

Dynamisch Programmeren (een uitdaging)

14 september 2008
Zo, nu deze verwarrende titel je aandacht heeft getrokken, zal ik eerst proberen die verwarring weg te nemen. Het dynamisch programmeren wat hier bedoeld wordt, heeft niets te maken met dynamische talen en ook niets met extra veel bewegen achter je toetsenbord en/of beeldscherm. Net zoals extreme programming niets te maken heeft met op bergtoppen of [...]
Lees verder >>