Schichtenarchitektur, Clean Architecture, MVC/MVVM & GoF-Entwurfsmuster (Strategy, Observer, Factory).
Kernkompetenz im Prüfungsbereich 1 (Planen eines Softwareproduktes): Schichtenarchitekturen, Hexagonale Architektur (Ports & Adapters), MVC / MVVM und die klassischen Entwurfsmuster der Gang of Four (GoF).
- Präsentationsschicht (UI / Controller): Verarbeitet Benutzereingaben oder REST-Requests und liefert Antworten (HTML, JSON). Hängt von der Geschäftslogik ab.
- Geschäftslogikschicht (Domain / Business Logic): Das Herz der Anwendung (Entities, Use Cases). Völlig frei von UI-Frameworks oder SQL-Abfragen.
- Datenzugriffsschicht (Data Access / Repository): Kapselt Datenbanken, Filesystem oder externe Web-Services.
- Dependency Inversion Rule (Clean Architecture): Abhängigkeiten zeigen IMMER nach innen zur Domäne. Äußere Infrastruktur implementiert Schnittstellen, die in der Domäne definiert sind!
| Muster | Kategorie | Zweck & IHK-Beispiel |
|---|---|---|
| Strategy | Verhalten (Behavioral) | Kapselt austauschbare Algorithmen in separaten Klassen hinter einem gemeinsamen Interface (z. B. verschiedene Rabattberechnungen oder Zahlungsarten: PayPal, Kreditkarte, SEPA). |
| Observer | Verhalten (Behavioral) | 1:n-Abhängigkeit (Publisher/Subscriber). Informiert alle registrierten Abonnenten automatisch über Zustandsänderungen (z. B. GUI-Events, Chatnachrichten, Börsenticker). |
| Factory Method | Erzeugung (Creational) | Definiert eine Schnittstelle zur Objekterzeugung, überlässt aber den Unterklassen die Entscheidung, welche konkrete Klasse instanziiert wird. |
| Singleton | Erzeugung (Creational) | Stellt sicher, dass exakt eine Instanz einer Klasse existiert (privater Konstruktor, statische Instanz). In modernem Clean Code oft durch Dependency Injection ersetzt. |
| Adapter | Struktur (Structural) | Passt die Schnittstelle einer existierenden Klasse an eine vom Client erwartete andere Schnittstelle an (Wrapper-Prinzip). |
Bearbeiten Sie die Aufgaben und vergleichen Sie Ihre Antwort mit dem offiziellen Erwartungshorizont:
Erläutern Sie das Prinzip der Schichtenarchitektur (Drei-Schichten-Architektur: Präsentation, Geschäftslogik, Datenzugriff). Erklären Sie die Dependency Inversion Rule (Abhängigkeitsregel) in der Clean Architecture und warum Domänenlogik unabhängig von Datenbanken und Frameworks sein muss.
Beschreiben Sie das GoF-Entwurfsmuster "Strategy (Strategie)" anhand von Context, Strategy-Interface und Concrete Strategies. Grenzen Sie es kurz vom Factory Method Pattern ab.
Erläutern Sie das Entwurfsmuster Observer (Beobachter) mit den Rollen Subject (Publisher) und Observer (Subscriber). Erklären Sie zudem das Singleton-Muster und warum es in modernen Softwaresystemen oft als Anti-Pattern angesehen wird.