Als ik aan een nieuw systeem begin, schrijf ik zelden eerst schermen of databasetabellen. Ik begin bij de regels: wat mag wel, wat mag niet, en wat gebeurt er als iets verandert?
Wat is domeinlogica?
Domeinlogica zijn de regels die je bedrijf uniek maken. Denk aan hoe een prijs berekend wordt, wanneer een order geannuleerd mag worden of wie een planning mag aanpassen.
Waarom los van de rest?
Frameworks, databases en schermen veranderen. De regels van je bedrijf veranderen veel minder vaak. Door de domeinlogica los te houden, kun je de techniek eromheen vervangen zonder de kern te raken.
- De logica is eenvoudig te testen, zonder database of browser.
- Nieuwe kanalen, zoals een app of API, gebruiken dezelfde regels.
- Wijzigingen in de regels staan op één plek.
Hoe dat eruitziet
In de praktijk werk ik met lagen: een domeinlaag met de regels, een applicatielaag die de stappen van een use-case coördineert, en een infrastructuurlaag voor opslag en koppelingen.
Een voorbeeld
Een Order weet zelf of hij geannuleerd mag worden. De applicatielaag vraagt dat alleen: order.cancel(). Of de order daarna in PostgreSQL of SQL Server wordt opgeslagen, maakt voor de regel niet uit.
Niet te zwaar maken
Niet elk systeem heeft uitgebreide lagen nodig. Voor een eenvoudige CRUD-applicatie is dit overkill. Ik schaal de structuur mee met de complexiteit van het domein.
Conclusie
Door te beginnen bij de domeinlogica bouw je software rond wat echt belangrijk is. De techniek eromheen blijft vervangbaar, en de kern blijft begrijpelijk en testbaar.
Geschreven door
Mustafa
Ik ontwerp, ontwikkel en verbeter digitale oplossingen — voor jouw bedrijf.