- Tag 1 - Einstieg und Erzeugungsmuster
- Grundlagen der Design Patterns
- Begriffsklärung, Kategorien (Erzeugungs-, Struktur- und Verhaltensmuster) und typische Problemstellungen in der Webentwicklung
- Best Practices im objektorientierten Design
- Verantwortlichkeiten sauber schneiden, Kopplung reduzieren und Wiederverwendung fördern
- Singleton Pattern
- Gemeinsame, zentrale Instanzen (z. B. Konfiguration, zentrale Dienste) sicher bereitstellen und typische Stolperfallen erkennen
- Factory Pattern
- Objekterzeugung kapseln, Varianten von Implementierungen verstecken und Systeme besser erweiterbar machen
- Builder Pattern
- Komplexe Objekte schrittweise und lesbar aufbauen, Pflicht- und optionale Parameter klar trennen
- Strategy Pattern (Einführung)
- Austauschbare Algorithmen bereitstellen, Verzweigungslogik reduzieren und Verhalten flexibel variieren
- Tag 2 - Verhaltensmuster in Anwendungslogik und Workflows
- Observer Pattern
- Ereignisse und Benachrichtigungen umsetzen, ohne Komponenten eng zu koppeln, z. B. für Logging oder einfache Event-Systeme
- Command Pattern
- Aktionen als Befehle modellieren, um Ausführung, Protokollierung und spätere Erweiterungen (z. B. Undo, Queues) zu erleichtern
- Decorator Pattern
- Objekte zur Laufzeit mit zusätzlichem Verhalten (z. B. Logging, Validierung, Fehlerbehandlung) ausstatten, ohne bestehende Klassen zu verändern
- Kombination der Verhaltensmuster
- Zusammenspiel von Observer, Command und Decorator in typischen Web-Workflows wie Request-Verarbeitung und Geschäftslogik
- Tag 3 - Zustands- und Strukturmuster
- State Pattern
- Zustandsabhängiges Verhalten modellieren, z. B. bei Workflows oder Automaten, und verzweigte If-Ketten durch klar getrennte Zustandsklassen ersetzen
- Praxisbeispiel Zustandsmaschine
- Aufbau einer kleinen Zustandsmaschine (z. B. Ticket-, Dokumenten- oder Automaten-Workflow) mit klar definierten Zuständen und Übergängen
- Adapter Pattern
- Unterschiedliche oder veraltete Schnittstellen vereinheitlichen, um externe Systeme oder Bibliotheken elegant einzubinden
- Bridge Pattern
- Abstraktionen von ihren Implementierungen entkoppeln, etwa wenn sich fachliche Varianten und technische Kanäle unabhängig voneinander entwickeln sollen
- Vergleich und Abgrenzung der Muster
- Unterschiede zwischen ähnlichen Patterns verstehen (z. B. Strategy vs. State, Adapter vs. Bridge, Decorator vs. Vererbung) und passende Einsatzszenarien wählen
LernzieleNach der Schulung sind Sie in der Lage, typische Entwurfsprobleme in der Webentwicklung zu erkennen und mit geeigneten Design Patterns zu lösen. Sie verbessern bestehende Architekturen und bringen Struktur und Wiederverwendbarkeit in Ihre PHP-Projekte.
ZielgruppenWebentwickler:innen, die bereits mit objektorientierter Programmierung arbeiten
Backend-Entwickler:innen, die ihre Projekte sauberer strukturieren möchten
Software-Engineer:innen, die Patterns aus der Theorie kennen und konkrete Einsatzmöglichkeiten suchen
Teilnahmevoraussetzungen
Sie benötigen Kenntnisse in objektorientiertem PHP
Ein Grundverständnis von Webprojekten und HTTP-basierten Anwendungen
Erfahrung mit einer Entwicklungsumgebung und einfachen Projekten