Architekturpattern
Dieser Beitrag ist eine Begriffserklärung zu Architekturpattern – inklusive Prüfungsfragen, Beispiel und Tags.
In a Nutshell
Architekturpattern sind wiederverwendbare Lösungsstrukturen auf Systemebene. Sie beschreiben Kontext, Kräfte (Forces), Lösung und Konsequenzen – mit Fokus auf Qualitätsziele wie Wartbarkeit, Skalierbarkeit, Sicherheit und Testbarkeit.
Kompakte Fachbeschreibung
Ein Architekturpattern definiert grobe Systemstruktur (z.B. Schichten, Ports & Adapter, Microservices, Event-Flows) und beeinflusst Qualitätsattribute.
Wichtige Trade-offs:
- Konsistenz vs. Verfügbarkeit
- synchrone RPC-Ketten vs. asynchrones Messaging
- zentrale DB vs. Daten pro Service
Moderne Systeme kombinieren Pattern (z.B. DDD-Schnitt + hexagonal pro Service). Prüfungsrelevant sind Definition, Konsequenzen, Einsatzszenarien und Risiken (z.B. Distributed Monolith).
Prüfungsrelevante Stichpunkte
- Unterschiede und Konsequenzen von Monolith/Microservices
- Schichtenarchitektur + Dependency Inversion
- Ports & Adapters (hexagonal)
- IHK: Qualitätsziele benennen + Messgrößen (MTTR, Latenz)
- Security: Zero Trust, Secrets, Service-to-Service Auth
- Wirtschaftlichkeit: Betriebs-/Lizenzkosten, Team-Schnitt
- Doku: C4 (L1–L3) + ADRs
Kernkomponenten
- Kontext/Annahmen
- Problem + Forces
- Struktur/Bausteine
- Kommunikationsstil (sync/async)
- Datenstrategie
- Schnittstellen/Protokolle
- Build/Test/Deploy/Observability
- Architekturelemente (Schichten, Adapter)
- Security (AuthN/AuthZ, Isolation)
- Tests (Contract/Chaos)
Praxisbeispiel (hexagonal, stark vereinfacht)
Domain: Order.confirm() erzeugt Domain Event
Application Service orchestriert Use Case
Ports definieren Contracts (Repo, Bus)
Adapter koppeln REST, SQL, Kafka
Vorteile und Nachteile
Vorteile
- Bessere Änderbarkeit
- Testbarkeit
- Gezielte Qualitätsattribute
Nachteile
- Mehr Komplexität
- Infrastruktur/Observability nötig
- Risiko Distributed Monolith
Typische Prüfungsfragen (mit Kurzantwort)
- Wann ist Schichtenarchitektur sinnvoll? Bei klaren Verantwortlichkeiten; Abhängigkeiten nach innen.
- Microservices vs Monolith: Kernunterschied? Deployment/Datenhaltung/Transaktionen.
- Was leistet hexagonale Architektur? Trennt Kernlogik von Ein-/Ausgängen über Ports/Adapter.
Freie Antwort
Lerne Pattern über Problem, Kräfte, Lösung und Konsequenzen. Dokumentiere Architekturentscheidungen als ADRs und visualisiere mit C4.
Lernstrategie
- C4 für ein System skizzieren.
- Pro Use Case Sync/Async Pfade markieren.
- Kurzdefinitionen + Trade-offs üben.
- Risiken und Gegenmaßnahmen benennen.