Modelleerpatronen (2): Push vs Pull (CQS)

Titel: Push vs Pull met Command-Query Separation (CQS) Doel: Acties binnen je model push-gedreven uitvoeren tijdens schrijfacties zodat leesacties veel minder diepe objectbomen raken. Dit scheelt resources en komt de performance en schaalbaarheid van het systeem ten goede. Met name een goede optimalisatie als gebruik wordt gemaakt van O/R bridges. Motivatie: Command-Query separation is geïntroduceerd […]

Lees meer >>

CQRS & de bijkomende architectuur

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

CQRS && Validatie && Business Rules

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

Domain model Reporting, Sir!

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