Entwurfsmuster in Go (Golang)
Entwurfsmuster in Go (Golang)
Zusammenfassung:
Dieses Buch ist ein praktischer Leitfaden zur Anwendung klassischer Design Patterns (GoF) in modernem Go (Golang). Im Gegensatz zu abstrakten Beschreibungen in Sprachen wie Java oder C++ wird hier jedes Pattern unter Berücksichtigung der Besonderheiten von Go analysiert: fehlende Vererbung, Interfaces, Goroutinen, Channels und Komposition.
Das Buch ist nach dem Prinzip „vom Einfachen zum Komplexen" aufgebaut und enthält:
- Creational Patterns: Singleton, Factory Method, Abstract Factory, Builder, Prototype. Sie erfahren, wie Sie Objekte flexibel und ohne überflüssigen Code erstellen.
- Structural Patterns: Adapter, Bridge, Composite, Decorator, Facade, Flyweight, Proxy. Lernen Sie, flexible und erweiterbare Hierarchien aufzubauen.
- Behavioral Patterns: Chain of Responsibility, Command, Iterator, Mediator, Memento, Observer, State, Strategy, Template Method, Visitor. Meistern Sie die effiziente Interaktion zwischen Objekten.
Jedes Pattern wird begleitet von:
- Einem realistischen Beispiel aus der Webentwicklung, dem Backend oder DevOps-Tools.
- Vollständigem Go-Code mit Erklärungen.
- Klassen- und Interaktionsdiagrammen.
- Tipps zur Vermeidung von Antipatterns und typischen Fehlern.
Für wen ist dieses Buch?
- Go-Entwickler, die sauberen, wartbaren Code schreiben möchten.
- Programmierer, die von anderen Sprachen zu Go wechseln und die Sprachidiome verstehen wollen.
- Architekten, die Microservices und verteilte Systeme in Go entwerfen.
Was Sie lernen werden:
- Wie man klassische Patterns an Multithreading und Concurrency in Go anpasst.
- Warum in Go oft Komposition der Vererbung vorgezogen wird und wie dies Patterns beeinflusst.
- Wie man Interfaces zur Erstellung lose gekoppelter Komponenten nutzt.
- Reale Anwendungsfälle: von der Erstellung von HTTP-Servern bis zur Implementierung von Task Queues.
Das Buch eignet sich sowohl für Anfänger, die bereits die Go-Syntax beherrschen, als auch für erfahrene Entwickler, die ihr Wissen systematisieren möchten. Alle Beispiele wurden mit aktuellen Go-Versionen (1.21+) getestet und stehen zum Download bereit.
Machen Sie Ihren Go-Code vorhersagbar, testbar und skalierbar – mit bewährten Design Patterns.
Empfehlungen
Mathematische Algorithmen für Programmierer. 3D-Grafik, maschinelles Lernen und Modellierung mit Python
Architektur von Swift (iOS/macOS) Anwendungen. Muster und Praktiken
Asynchrones Go (Golang): Das vollständige Handbuch
Asynchrones Swift (iOS/macOS): Das vollständige Handbuch
Fullstack React: Der vollständige Leitfaden für die moderne Entwicklung
Hacking with PHP