Ferris Talk #9: Vom Builder Pattern und anderen Typestate-Abenteuern

Seite 3: Komplexe Objekte erzeugen mit Typestate und dem Builder Pattern

Inhaltsverzeichnis

Typestate ist eine beindruckende Art, den Compiler mit weiteren Informationen zu versorgen, die für eine sichere Anwendung von APIs dienlich sind. Kombiniert man Typestate mit dem Builder Pattern, wird auch die Erzeugung komplexer Objekte elegant und robust.

Dabei gelingt ein interessanter Spagat: Man kombiniert das Builder Pattern mit Typestate – ein Entwurfsmuster (Builder Pattern), das beinahe 30 Jahre alt ist, mit einer Technik, die erst jüngst Einzug in Mainstream-Programmiersprachen gefunden hat (Typestate).

Zum einen ist es erstaunlich, dass die Ideen der Gang of Four auch heute noch in modernen Programmiersprachen mit objektorientierten Features valide sind – und das, obwohl die Objektorientierung in Rust durch das Nichtvorhandensein von Vererbung anders funktioniert als in C++. Das spricht für die Weitsicht der Autoren und ihr Ziel, die Muster nicht überaus clever zu gestalten, sondern eher auf Zugang und Einfachheit zu achten.

Zum anderen zeigt es aber auch, wie eine einfache Idee mit sprachabhängigen Features wie Rusts Typsystem noch weiter reifen kann. Das Resultat ist kein dogmatisches Befolgen von Richtlinien, sondern der sinnvolle und gezielte Einsatz von Entwurfsmustern.

Empfohlener redaktioneller Inhalt

Mit Ihrer Zustimmmung wird hier ein externes YouTube-Video (Google Ireland Limited) geladen.

Ich bin damit einverstanden, dass mir externe Inhalte angezeigt werden. Damit können personenbezogene Daten an Drittplattformen (Google Ireland Limited) übermittelt werden. Mehr dazu in unserer Datenschutzerklärung.

Wer noch mehr über Typestate Programming oder das API-Design in Rust wissen möchte, sollte sich Will Crichtons Vortrag von der letztjährigen Strangeloop auf YouTube ansehen.

Ferris Talk – Neuigkeiten zu Rust. Kolumnist:
Stefan Baumgartner, Dynatrace.at, Rust Meetup Linz, Autor der Ferris Talks, der Kolumne über die Programmiersprache Rust bei Heise Developer

Stefan Baumgartner

lebt und arbeitet als Software-Architekt und Entwickler bei Dynatrace im österreichischen Linz mit Schwerpunkt auf Webentwicklung, Serverless und Cloud-basierte Architekturen.

Für den Smashing Magazine Verlag veröffentlichte er 2020 mit “TypeScript in 50 Lessons” sein zweites Buch, seine Onlinepräsenz fettblog.eu enthält Artikel, Tutorials und Guides zum Thema TypeScript, Rust, React, und Software Engineering im Allgemeinen.

Stefan organisiert Meetups und Konferenzen, wie Stahlstadt.js, die DevOne, ScriptConf, Rust Meetup Linz, und das legendäre Technologieplauscherl. Außerdem ist er regelmäßig Gastgeber im Working Draft, dem deutschsprachigen Podcast über Webtechnologien. Wenn noch ein wenig Freizeit bleibt, genießt er italienische Pasta, belgisches Bier und britischen Rock.

(sih)