Architektur & Entwurfsmuster — Struktur, die Änderungen überlebt
Architektur ist die Entscheidung, die man später am teuersten ändert. In der Prüfung geht es um Schichtung, MVC und die bekannten Muster — und um die Begriffe Kopplung und Kohäsion.
Kopplung und Kohäsion — das Bewertungsmaß
| Begriff | Bedeutung | Zielfall |
|---|---|---|
| Kopplung | wie stark Module voneinander abhängen | niedrig |
| Kohäsion | wie stark eine Einheit inhaltlich zusammengehört | hoch |
Merksatz: „stark zusammenhängend, schwach verbunden". Gute Architektur heißt: Eine Klasse macht eine Sache (hohe Kohäsion) und kennt möglichst wenig von anderen (niedrige Kopplung).
Schichtenarchitektur
Eine Anwendung wird in Schichten geteilt, die nur nach unten greifen:
- Präsentation — Anzeige, Eingabeverarbeitung
- Anwendungslogik / Services — Abläufe, Regeln
- Domäne/Fachlogik — fachliche Regeln und Modelle
- Datenzugriff — Repository, Datenbankschnittstelle
MVC — Model View Controller
| Teil | Aufgabe |
|---|---|
| Model | Daten und Fachlogik, benachrichtigt über Änderungen |
| View | Darstellung, kennt nur das Model zum Auslesen |
| Controller | nimmt Eingaben, aktualisiert das Model, wählt die View |
Ziel ist die Trennung von Darstellung und Logik — deshalb lässt sich eine View austauschen (Web, Mobile, API), ohne die Logik zu ändern. Verwandte Varianten: MVP und MVVM (mit Datenbindung, typisch in modernen Web-Frameworks).
Weitere Architekturstile
- Client-Server: getrennte Rollen, Server hält die Daten.
- Drei-Schichten (3-Tier): Präsentation, Logik, Datenhaltung als getrennte Systeme.
- Microservices: kleine, unabhängig einsetzbare Dienste mit eigenen Daten — Skalierung und getrennte Teams möglich, dafür Betriebsaufwand und verteilte Fehler.
- Monolith: eine Anwendung als Einheit — einfacher zu betreiben, schwerer zu skalieren.
- Event-driven: Komponenten reagieren auf Ereignisse (Nachrichtenbus).
Entwurfsmuster (Auswahl)
| Muster | Zweck |
|---|---|
| Singleton | genau eine Instanz einer Klasse, globaler Zugriffspunkt (z. B. Konfiguration) |
| Factory / Factory Method | Objekterzeugung kapseln, Aufrufer kennt die konkrete Klasse nicht |
| Observer | Beobachter werden bei Änderungen automatisch benachrichtigt (Basis für Event-Handling) |
| Strategy | austauschbare Algorithmen hinter einer gemeinsamen Schnittstelle |
| Adapter | übersetzt zwischen unterschiedlichen Schnittstellen |
| DAO / Repository | Datenzugriff kapseln, Domäne bleibt datenbankunabhängig |
Muster sind erprobte Lösungen für wiederkehrende Probleme — keine Pflicht, sondern Vokabular und Erfahrungswissen.
Typische Prüfungsfallen
- Kopplung und Kohäsion vertauscht: Kopplung niedrig, Kohäsion hoch — nicht umgekehrt.
- MVC falsch zuordnen: Die View greift nicht schreibend auf das Model zu, das macht der Controller.
- Singleton als sauberes Design feiern: Es ist globaler Zustand, in Tests problematisch.
- Microservices grundsätzlich als moderner bewerten: Ohne Betriebskonzept ist der Monolith oft die bessere Wahl.
Weiter üben
Das Grundlagenwissen steht hier frei — geübt wird in der Lernplattform: über 1.300 Prüfungsfragen mit ausführlicher Erklärung zu jeder Antwort, Fortschritt im eigenen Konto.