Teil II. Entwurfsmuster in PHP anwenden. 

Während der letzten Jahre haben sich in der objektorientierten Programmierung einige sehr nützliche Entwurfsmuster, englisch Design Patterns, herausgebildet. Den Begriff "Design Pattern" haben Erich Gamma, Richard Helm, Ralph Johnson und John Vlissides 1994 mit ihrem Buch [GoF1994] geprägt.

Entwurfsmuster dienen dazu, gewonnene Erfahrungen über die Lösung wiederkehrender Probleme zu vermitteln. Diese Kombination von Problem und Lösung wird zudem mit einem prägnanten Namen versehen, um ein einheitliches Vokabular zur Diskussion von Problem und Lösung zur Verfügung zu stellen.

Die Vorteile der Entwurfsmuster liegen auf der Hand: Durch die Nutzung von vorhandenem Wissen spart man Zeit bei der Entwicklung und kann Fehler vermeiden, die bereits von anderen gemacht wurden. Die Aufgabe des Softwareentwicklers verlagert sich unter Verwendung von Entwurfsmustern von der Erfindung des Rads zur Auswahl des richtigen Rads und seiner kreativen Verwendung. Hierbei sollte man jedoch die folgenden Punkte stets im Hinterkopf behalten:

  • Entwurfsmuster sind kein Allheilmittel!

    Originalität ist nach wie vor bei der Anwendung der Entwurfsmuster gefragt.

  • Entwurfsmuster sind keine Algorithmen!

    Algorithmen lösen feinkörnigere Probleme (Suchen, Sortieren) und bieten weniger Freiheitsgrade in der Implementierung.

  • Entwurfsmuster sind keine Frameworks!

    Frameworks existieren als konkreter, wiederverwendbarer Code, Entwurfsmuster enthalten nur Beispiele von Code. Frameworks werden für konkrete Anwendungsbereiche eingesetzt, ein Entwurfsmuster kann überall eingesetzt werden.

In der Literatur werden Entwurfsmuster üblicherweise in ähnlicher Struktur, angelehnt an das bereits erwähnte "Design Patterns"-Buch vorgestellt. Zu den im vorliegenden Buch vorgestellten Entwurfsmustern gibt es eine Vorstellung des Problems und von seiner Motivation. Im Anschluss daran wird die Lösung des Problems und deren Umsetzung mit PHP präsentiert. Abschließend werden dann entsprechende Anwendungsbeispiele vorgestellt.

Kapitel 5

Stellt mit der abstrakten Fabrik und dem Singleton zwei Entwurfsmuster vor, die sich mit der Erzeugung von Objekten befassen.

Kapitel 6

Stellt mit Dekorierer und Stellvertreter zwei Entwurfsmuster aus der Familie der Strukturmuster vor.

Kapitel 7

Stellt mit Beobachter, Schablonenmethode, Strategie und Iterator vier Vertreter von Entwurfsmustern vor, die sich mit der Interaktion zwischen Objekten befassen.