Union types in C#: vijf aanpakken vergeleken

Waarom union types? Stel: een huisdier in jouw domein is altijd een kat, hond of papegaai — en nooit iets anders. Hoe modelleer je dat in C#? Er zijn meerdere aanpakken, elk met andere garanties van de compiler, andere leesbaarheid en andere gevolgen voor je EF Core mapping. In dit artikel loop ik vijf aanpakken langs op hetzelfde voorbeeld: Pet = Cat | Dog | Parrot. Aanpak 1 — object (de “het is toch gewoon een object”-aanpak) De meest naive oplossing: stop alles in een List<object> en match op type. ...

May 8, 2026 · 7 min · Thomas Vanneuville

Stop met je eigen messaging-framework te bouwen in .NET

Intro Event-driven architecture wint snel aan populariteit in .NET-teams. Vroeg of laat komt dan deze gedachte: “Hoe moeilijk kan het zijn? We spreken gewoon rechtstreeks met Azure Service Bus. We bouwen zelf wel wat we nodig hebben.” Mijn hot take: Zelf een event-driven “mini-framework” bouwen bovenop Azure Service Bus (of RabbitMQ, Kafka, …) is bijna altijd een verspilling van tijd en geld. Niet omdat je het niet kan bouwen, maar omdat je de echte kost onderschat. ...

October 11, 2025 · 6 min · Thomas Vanneuville

De turbo is er al. Tijd om eindelijk aan het kompas te werken.

AI coding agents zijn geweldig. Maar ze lossen ons échte probleem niet op. Ik ga meteen met de deur in huis vallen: AI coding agents zijn fantastisch. Ze schrijven code sneller dan ik ooit kan. Ze nemen repetitief werk over. Ze maken dingen mogelijk die vijf jaar geleden ondenkbaar waren. Ja — ze zijn dé shit. Maar hoe enthousiaster iedereen wordt over “sneller programmeren”, hoe sterker bij mij één gedachte blijft hangen: ...

August 1, 2025 · 3 min · Thomas Vanneuville

DDD - Software bouwen is leren leren

Domain-Driven Design Wanneer ik met Domain-Driven Design (DDD) bezig ben, merk ik dat het zelden écht over code gaat. DDD is ontstaan rond het begin van de jaren 2000, in dezelfde periode als het Agile Manifesto en Extreme Programming. Niet toevallig: het kwam voort uit frustratie. Frustratie omdat we dachten dat we software konden ontwerpen door alles vooraf te analyseren en vast te leggen, om dan “gewoon” te bouwen. In de praktijk werkt dat bijna nooit. ...

February 1, 2025 · 4 min · Thomas Vanneuville