
Philip Schönholzer
Produktentwickler, UX-Experte, Unternehmer
Wenn man das Business in Typen abbildet, denkt man in erster Linie an Entitäten und deren Attribute. Das ist aber nur ein Teil des Business. Wir wollen das gesamte Business in Typen abbilden. Wie das geht, sehen wir uns hier an.
Publiziert am von Philip Schönholzer
Eine Domäne definiert die Entitäten und ihre Attribute. Was oft nicht definiert ist, ist in welcher Konstellation welche Entitäten und Attribute zum Tragen kommen. Dies ist der Fall, wenn viele Attribute auch leer bleiben können. Die Typen beschreiben dann nicht, wann welches dieser Attribute gefüllt werden muss, was zu Fehlern führt.
Wie diese Informationen in den Typen hinterlegt werden können, beschreibt Scott Wlaschin in seinem Buch "Domain Modeling Made Functional".
Gehen wir von einer Rechnungsposition aus, so könnte diese klassisch so aussehen.
Was auf den ersten Blick gar nicht so schlecht aussieht, hat folgende Probleme.
Wenn diese Anwendung nun Rechnungen in ein anderes System exportieren soll, sind Fehler vorprogrammiert.
Nach Ansicht von Scott Wlaschin sollte der Typ für die Rechnungsposition eher so aussehen.
Mit dieser Modellierung sind die oben aufgeführten Probleme nicht mehr vorhanden. Man kann jedoch nicht leugnen, dass es sich um etwas mehr Code handelt. Scott Wlaschin argumentiert, dass diese Modellierung weniger Interpretationsspielraum lässt und somit viele Fehler vermieden werden können.
Damit das funktioniert, muss aber auch mehr Code zwischen der Datenbank und dem Domänenmodell stehen, das den Code korrekt transformiert.
Wer mehr über diesen Ansatz erfahren möchte, kann dies auf der Website von Scott Wlaschin in seiner Reihe "Designing with Types" und in seinem Buch "Domain Modeling Made Functional" tun.

Produktentwickler, UX-Experte, Unternehmer