Mennova
Alle inzichten

Architectuur1 min lezen

Waarom ik begin met de domeinlogica

Schermen en databases veranderen vaker dan de regels van je bedrijf. Daarom begin ik bij de domeinlogica, en houd ik die bewust los van de rest.

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.

Deel dit artikel

Geschreven door

Mustafa

Ik ontwerp, ontwikkel en verbeter digitale oplossingen — voor jouw bedrijf.

Een goed begin

Heb jij een digitaal vraagstuk dat verder mag?

Vertel me waar je aan werkt. Dan verken ik samen met jou wat er technisch nodig is om vooruit te komen.

Plan een kennismaking
vraag.tsroute.tscontact.ts

// Van vraag naar richtingconst route = { inzicht: true, richting: true, volgendeStap: 'helder',}plan(route)[klaar] tijd voor een kennismaking.