Skip to content
IRC-Coding IRC-Coding
Architekturpattern C4 ADR Hexagonale Architektur Schichtenarchitektur CQRS

Architekturpattern einfach erklärt: Qualitätsziele, Trade-offs, Dokumentation (C4/ADR)

Architekturpattern: Kontext/Forces/Lösung/Konsequenzen, Beispiele (Schichten, Hexagonal, Microservices), Datenstrategien, Kommunikation (sync/async) und Prüfungsfragen.

S

schutzgeist

1 min read

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

  1. Kontext/Annahmen
  2. Problem + Forces
  3. Struktur/Bausteine
  4. Kommunikationsstil (sync/async)
  5. Datenstrategie
  6. Schnittstellen/Protokolle
  7. Build/Test/Deploy/Observability
  8. Architekturelemente (Schichten, Adapter)
  9. Security (AuthN/AuthZ, Isolation)
  10. 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)

  1. Wann ist Schichtenarchitektur sinnvoll? Bei klaren Verantwortlichkeiten; Abhängigkeiten nach innen.
  2. Microservices vs Monolith: Kernunterschied? Deployment/Datenhaltung/Transaktionen.
  3. 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

  1. C4 für ein System skizzieren.
  2. Pro Use Case Sync/Async Pfade markieren.
  3. Kurzdefinitionen + Trade-offs üben.
  4. Risiken und Gegenmaßnahmen benennen.

Weiterführende Infos

  1. https://microservices.io/patterns
  2. https://c4model.com/
  3. https://martinfowler.com/architecture
Zurück zum Blog
Share:

Ähnliche Beiträge