Entwurfsmuster in Go (Golang)
Entwurfsmuster in Go (Golang)
Zusammenfassung:
Das Buch „Entwurfsmuster in Go (Golang)“ ist ein praktischer Leitfaden für Entwickler, die die klassischen Entwurfsmuster (GoF) erlernen und in der Go-Ökosystem anwenden möchten. Im Gegensatz zu Java oder C++ hat Go seine eigene Philosophie von Komposition und Interfaces, weshalb viele Muster angepasst werden müssen. Dieses Buch schließt die Lücke zwischen klassischen Beschreibungen und echtem Go-Code.
Worum geht es in dem Buch
- Erzeugungsmuster: Singleton, Factory Method, Abstract Factory, Builder, Prototype – wie man Objekte ohne starre Typbindung erstellt.
- Strukturmuster: Adapter, Bridge, Composite, Decorator, Facade, Flyweight, Proxy – Möglichkeiten zur Organisation von Klassen und Strukturen in großen Systemen.
- Verhaltensmuster: Chain of Responsibility, Command, Iterator, Mediator, Memento, Observer, State, Strategy, Template Method, Visitor – Steuerung von Algorithmen und Objektinteraktionen.
- Besonderheiten von Go: Verwendung von Interfaces, Goroutinen und Kanälen zur Implementierung von Mustern (z. B. Fan-Out/Fan-In als Alternative zu Observer).
- Antipatterns: Typische Fehler bei der Übertragung von Mustern aus OOP-Sprachen nach Go.
Für wen ist dieses Buch geeignet
- Junior- und Middle-Go-Entwickler – die vom Schreiben „einfach funktionierenden Codes“ zu architektonisch fundierten Lösungen übergehen möchten.
- Entwickler mit Erfahrung in anderen Sprachen – Java, C#, Python, die Go lernen und nach Entsprechungen vertrauter Muster suchen.
- Softwarearchitekten – die Microservices oder hochlastige Systeme in Go entwerfen.
Was Sie lernen werden
- Wie man 23 klassische Muster in reinem Go ohne externe Bibliotheken implementiert.
- Warum in Go oft Komposition anstelle von Vererbung verwendet wird und wie dies die Musterauswahl beeinflusst.
- Wie man auf Mustern basierenden Code mit tabellarischen Tests und Mocks testet.
- Wie man Muster kombiniert (z. B. Factory + Strategy), um reale Probleme zu lösen.
- Wie man „Spaghetti-Code“ mit Mustern umgestaltet, ohne die bestehende Logik zu brechen.
- Beispiele aus realen Projekten: Webserver, CLI-Tools, Ereignisbehandler.
Das Buch ist im Format „Problem → Lösung → Go-Code → Diskussion von Alternativen“ geschrieben. Jedes Muster wird von UML-Diagrammen und Links zu funktionierenden Beispielen auf GitHub begleitet. Sie können das Gelernte sofort in Ihren eigenen Projekten anwenden.
Wenn Sie in Go nicht nur schnell, sondern auch qualitativ hochwertig schreiben möchten – dieses Buch wird Ihr ständiger Begleiter sein.
Empfehlungen
DevOps für Rust-Entwickler: CI/CD, Containerisierung und Deployment
PHP: Tipps und Best Practices – vom Anfänger zum Profi
Java und Datenbanken: Ein praktischer Leitfaden
PHP Cookbook. Programmier-Rezepte für Profis
PHP Solutions: Dynamisches Webdesign ohne Komplexität
TypeScript in der Praxis für C#- und .NET Core-Entwickler