Entwurfsmuster in Rust
Entwurfsmuster in Rust
Zusammenfassung:
Das Buch „Entwurfsmuster in Rust“ ist ein praktischer Leitfaden zur Anwendung klassischer und moderner Patterns im Rust-Ökosystem. Im Gegensatz zu traditionellen Sprachen stellt Rust besondere Anforderungen an die Speicherverwaltung und Sicherheit, was die Implementierung selbst der vertrautesten Schablonen prägt.
Der Autor, Artjom Volkow, ein erfahrener Rust-Entwickler und Mitwirkender an mehreren Open-Source-Projekten, zeigt, wie man die GoF-Patterns (Singleton, Builder, Factory, Visitor und andere) an das einzigartige Modell der Ownership, des Borrowings und der Lifetimes anpasst. Sie erfahren, warum einige klassische Patterns in Rust überflüssig oder sogar schädlich sind und welche idiomatischen Alternativen die Sprache bietet.
Inhalt des Buches
- Erzeugungsmuster: Builder mit typisierten Zuständen, Factory über Traits, Singleton unter Verwendung von
OnceCellundLazyLock. - Strukturmuster: Adapter über Generics, Composite mit dem Trait
Box, Decorator mittels Wrappern. - Verhaltensmuster: Strategie über Closures, Observer mit
std::sync::mpsc-Kanälen, Visitor mit enum anstelle von Double Dispatch. - Rust-Idiome: Typisierte Zustände (typestate), Newtype Pattern, RAII mit Destruktoren,
From/Intofür Konvertierungen. - Fortgeschrittene Themen: Patterns für asynchronen Code (
async/await), Arbeit mit Makros zur Codegenerierung, sichere Wrapper für unsicheren Code.
Für wen ist dieses Buch
- Entwickler, die von Java, C++ oder Python zu Rust wechseln – hilft, typische Fehler zu vermeiden.
- Erfahrene Rustaceans, die ihr Wissen systematisieren und Best Practices kennenlernen möchten.
- Softwarearchitekten, die nach Wegen suchen, zuverlässige und skalierbare Systeme in Rust zu bauen.
- Studenten und Dozenten, die moderne Ansätze des Softwaredesigns studieren.
Jedes Pattern wird begleitet von: Problemstellung, Diagramm, vollständigem Rust-Code, Analyse von Kompromissen und Vergleich mit Implementierungen in anderen Sprachen. Sie lernen nicht nur, Patterns zu kopieren, sondern zu verstehen, wann und warum sie im Kontext von Rust angewendet werden sollten.
Das Buch ist in einer lebendigen Sprache geschrieben, enthält zahlreiche Beispiele aus realen Projekten (Webserver, Parser, Spiele-Engines) und Übungen zur Festigung des Stoffes. Nach der Lektüre werden Sie in der Lage sein, Systeme zu entwerfen, die beim ersten Mal kompilieren, fehlerresistent sind und Ressourcen effizient nutzen.
Ideal für das Selbststudium und als Nachschlagewerk für die tägliche Arbeit.