Konferenzprogramm
Den Zustand im Griff – Immutability ändert alles
Die Verwaltung des Zustands eines Systems ist eine der größten Herausforderungen in der Softwareentwicklung. Bei der Arbeit an komplexen Systemen herrscht eine hohe mentale Belastung. Diese kann dazu führen, dass die Datenobjekte und das System als Ganzes so verändert werden, dass der Zustand in eine fachliche Inkonsistenz gerät. Immutability vermeidet viele dieser Fehlerquellen.
Der Vortrag zeigt, wie Immutability funktioniert, wie sie im Kleinen und im Großen angewendet werden kann, um auch komplexe Herausforderungen zu meistern.
Zielpublikum: Architekten, Entwickler
Voraussetzungen:Grundlegende Kenntnisse in Softwareentwicklung
Level: Practicing
Extended Abstract:
Habt ihr euch jemals gefragt, warum viele Programmfehler dadurch gelöst werden, dass der Computer oder die Anwendung neu gestartet wird? Das liegt am Zustand des Systems. Das Programm hat seinen Zustand beschädigt.
Eine der großen Herausforderungen bei der Softwareentwicklung ist die Verwaltung des Zustands eines Systems. In der Regel wird der Zustand eines Systems in Datenobjekten gehalten, die über Methoden verändert werden, um den dann neuen Zustand widerzuspiegeln. Leider führt genau dieses Verändern immer wieder zu unvorhergesehenem Verhalten und Fehlern, insbesondere dann, wenn das System wächst und immer komplexer wird. Selbst wenn die Datenobjekte in sich fachlich konsistent sind, so kann sich das System als Ganzes durchaus in einem fehlerhaften Zustand befinden.
In komplexen Systemen sind wir oft überfordert und plagen uns mit einer hohen mentalen Last durch den Code, den Überblick zu behalten, wie wann und wo welche Daten verändert werden, ist schwierig.
Zur Rettung eilt uns hier Immutability herbei – die Idee von unveränderlichen Datenobjekten, die nicht nur technisch, sondern auch fachlich und mental eine ganze Klasse von Problemen beseitigt. Die richtige Anwendung von Immutability gibt uns die Gewissheit, dass wir stets fachlich richtige Objekte in der Hand haben. Wir wissen, dass wir diese Objekte bedenkenlos verteilen können, und wissen auch, wenn wir so ein Objekt wieder bekommen, dass es immer noch dasselbe (!) Objekt ist.
In diesem Vortrag möchte ich an verschiedenen Beispielen erläutern, was hinter dieser Idee steckt und warum sie so hilfreich ist, komplexe Systeme handhabbar zu machen. Außerdem möchte ich Vorurteilen wie „Immutability kostet Performance“ oder „Immutability macht den Code nur noch komplexer“ aus dem Weg schaffen. Die Teilnehmer erhalten ein Grundverständnis, wie Immutability nicht nur technisch funktioniert und wie es in der Praxis angewendet werden kann.
Senior Software Architect
Yves Schubert arbeitet als Senior Software Architect bei iteratec. In dieser Funktion ist er in vielen Projekten als Fullstack-Entwickler tätig, gibt zum Ausgleich aber auch Trainings und Vorlesungen in den Bereichen DevOps, Qualitätssicherung und Backendentwicklung. In der Praxis wendet er die Prinzipien des Software Craftsmanship an.
Vortrag Teilen