Tag objectgeoriënteerd programmeren
Objectgeoriënteerd programmeren draait niet om objecten
Van Anjana Vakil leerde ik een interessante les: objectgeoriënteerd programmeren draait niet om objecten, het draait om het uitwisselen van informatie.
Eerlijke domeinmodellen
Options en Eithers vormen nog maar de eerste aanzetten voor het idee van eerlijke functies. Het zijn constructen die, op het oog althans, redelijk beperkt blijven tot het technische domein. Maar het idee van eerlijke functies past ook uitstekend bij de praktijk van het modelleren van een domein, zoals gebruikelijk in Domain-Driven Design. Dat is een les die ik leerde van Scott Wlaschin op DevTernity.
Objectgeoriënteerd en functioneel BTW berekenen - Revisited
Ik plaatste een tijd geleden wat kanttekeningen bij mijn aanpak Enrico Buonanno’s uitdaging om een objectgeoriënteerde BTW-calculator te schrijven. Zo zette ik mijn vraagtekens bij het feit dat ik zijn oorspronkelijke model één op één overnam. Die keuze bracht met ertoe een aparte VatCalculator
-class te definiëren. En hoewel die objectgeoriënteerd was opgezet, viel deze makkelijk om te schrijven naar een functionele variant. De vraag wierp zich op: hoe objectgeoriënteerd is die oplossing? Is de vergelijking daarmee wel eerlijk? Hoe zou een “echt” objectgeoriënteerde oplossing eruit zien?
Objectgeoriënteerd en functioneel BTW berekenen
In het eerste hoofdstuk van Enrico Buonanno’s Functional Programming in C# (Second Edition) demonstreert de auteur wat functionele features van C# aan de hand van een concreet voorbeeld: het berekenen van de BTW op een (lijst) product(en). Buonanno raadt de lezer aan om dezelfde functionaliteit ook op een objectgeoriënteerde manier te implementeren, om die oplossing te kunnen contrasteren met de zijne. Dus dat is precies wat ik heb gedaan.
Heb je die setter echt nodig?
"prop"
+ tab
+ tab
- welke C#-ontwikkelaar maakt niet bijna dagelijks dankbaar gebruik van dat code snippet om zijn ontwikkelsnelheid te verhogen? Standaard properties zijn zo alomtegenwoordig in de wereld van objectgeoriënteerd programmeren in het algemeen - en C# in het bijzonder - dat je er haast niet meer bij stilstaat dat het ook anders kan. Maar dat het ook anders kan, leerde ik dankzij Spencer Schneidenbach, in een uitstekende lezing over immutability (onveranderlijkheid).
Low code: een nieuw paradigma?
Een deel van de teams in het bedrijf waar ik voor werk is overgestapt op dat wat low code development wordt genoemd. In plaats van applicaties regel voor regel met de hand te schrijven, klikken ze deze in elkaar met behulp van een tool. Hoe verhoudt deze ontwikkelmethode zich tot “ouderwets” programmeren? Luidt low code een nieuw ontwikkelparadigma in?
Objectgeoriënteerd denken
Onlangs las ik The Object-Oriented Thought Process van Matt Weisfeld (vijfde editie). Waarom lees ik, ruim vier jaar na mijn eerste regels C#, een inleiding in objectgeoriënteerd programmeren? Nou…