Design Patterns in C++
In dieser Artikelserie zeige ich euch wie man Design Patterns in C++ umsetzt. Neben dem theoretischen Verständnis darüber geht es hauptsächlich um dessen praktische Umsetzung anhand eines Beispiels. Ziel soll ein besseres Verständnis dafür sein – ihr sollt diese Pattern verstehen, selber in eure Software einbauen können und bei der Analyse bestehender Software diese erkennen.
Design Patterns in C++
Warum Design Patterns und warum C++?
Design Patterns
Vermutlich hatte jeder Programmierer hat, der nicht nur kleine Beispielprogramme schreibt, schon bewusst oder unbewusst Kontakt mit einem Design Pattern oder auf Deutsch Entwurfsmuster. Was ist das? Ein Entwurfsmuster ist eine optimale Lösung für ein Problem, dass in der Architektur von Software immer wieder auftritt. Mit einem Design Pattern können bestimmte Abläufe in der Hierarchie eines Programms besser dargestellt werden. Im Laufe der Zeit ergaben sich durch zahlreiche Programme die die selbe Aufgabenstellung gelöst haben nach und nach best practice Lösungen die man 1:1 nutzen kann. Ein guter Programmierer sollte diese Entwurfsmuster kennen um bessere Software zu schreiben. Er kann diese zwar ignorieren, wird aber bei der Lösung beim Design eines Programms diese mehr oder weniger gut und ähnlich nachbilden – also besser gleich optimal umsetzen.
Design Patterns werden in 3 Kategorien unterteilt:
- Creational Patterns (Erzeugungsmuster)
- Structural Patterns (Strukturmuster)
- Behavioral Patterns (Verhaltensmuster)
C++
C/C++ ist meiner Meinung nach immer noch die wichtigste Programmiersprache da draußen. Obwohl Java und Python sehr populär sind kann ein guter Programmierer nicht ohne Wissen über C++ auskommen. Diese Sprache ist nach wie vor die Basis aller Betriebssysteme und zahlloser Softwareprodukte. Selbst als „nur“ Python Programmierer kommt man nicht ohne C aus, denn spätestens bei der Entwicklung einer eigenen Python Library braucht man wieder diese alte Programmiersprache. Außerdem ist es so, dass wenn man C++ kann und versteht, alle anderen Sprachen innerhalb weniger Tagen erlernbar sind.
Fazit
Das war eine kleine Einführung und ein paar Gedanken zu Design Patterns in C++. In den nächsten Artikeln werde ich diese Beispiel um Beispiel umsetzen und detailliert erklären. Der Beispielcode in C++ kann bei einem guten Verständnis der Thematik problemlos in andere Programmiersprachen umgesetzt werden.