Railway Oriented Programming in Java

Fazit

Anzeige

Durch die funktionalen Ansätze, die seit Java 8 Einzug in die Sprache gehalten haben, ist es mit wenig Aufwand möglich, eigene Monaden zu entwickeln, die komplexe Berechnungen oder Prüfungen vor der Außenwelt verbergen. Dadurch lässt sich doppelter Code vermeiden (etwa die immer gleichen for-Schleifen zum Iterieren über Collections), die Fehlerbehandlung vereinfachen (z. B. keine null-Checks und Exceptions mehr nötig) oder die Les- und damit die Wartbarkeit des Codes erhöhen (bpsw. keine eigene Thread-Programmierung mehr).

Um Monaden einzusetzen, muss man nicht erst ein Mathematikstudium absolvieren. Es reicht, ihre grundsätzliche Funktionsweise zu verstehen. Das Beispiel in diesem Artikel verdeutlicht, dass schon wenige Zeilen Code ausreichen, um ein abstraktes Konzept wie das Ergebnis einer Operation umzusetzen.

Dem Ganzen dann einen Namen wie Railway Oriented Programming zu geben, ist womöglich etwas viel des Guten, da es sich weniger um eine völlig neue Art zu programmieren handelt, sondern lediglich die Behandlung von Exceptions vermeidet. Aber der Name trägt vielleicht zum Verständnis des abstrakten Konzepts bei und erleichtert den Einstieg in die funktionale Denkweise und die Idee der Monaden. Denn da Letztere in Java 8 zum Beispiel in Form von Optional oder Stream an vielen Stellen standardmäßig eingesetzt werden, sollte ihrer Verwendung im alltäglichen Code nichts mehr im Wege stehen. (ane)

Stefan Macke
ist Softwarearchitekt bei der Alte Oldenburger Krankenversicherung AG. Seit 2007 ist er dort außerdem Ausbilder für Anwendungsentwickler. In seinen aktuellen Projekten beschäftigt er sich mit der Modernisierung von Altanwendungen auf Basis einer serviceorientierten Architektur mithilfe von Java.

Anzeige