Vergleich
Onion vs Three Layered Architecture

Key Advantages (1/5)

  • Dependency Rule:
    • Onion: Abhängigkeiten zeigen nach innen (Kernlogik bleibt unabhängig).
    • Three Layered: Keine strikte Abhängigkeitshierarchie, Risiko von Direktzugriffen.

Testbarkeit (2/5)

  • Vorteile:
    • Onion: Core-Logik leicht testbar (Isolierung durch Ports).
    • Three Layered: Schwer, wegen Abhängigkeiten zwischen Layern und Datenzugriff.

Wartbarkeit (3/5)

  • Vorteile:
    • Onion: Änderungen an der Infrastruktur beeinflussen die Logik nicht.
    • Three Layered: Änderungen in unteren Layern können erhebliche Auswirkungen haben.

Separation of Concerns (4/5)

  • Unterschiede:
    • Onion: Trennt Geschäftslogik von Datenzugriff und Präsentation.
    • Three Layered: Weniger strikt, mögliche Vermischung technischer Details.

Flexibilität und Skalierbarkeit (5/5)

  • Skalierung:
    • Onion: Unabhängige Entwicklung der Systemteile möglich, minimale Beeinträchtigung.
    • Three Layered: Infrastrukturänderungen beeinflussen oft andere Layer.

Fokus auf DDD

  • Onion: Betonung der zentralen Geschäftslogik (Domain-driven Design).
  • Three Layered: Anpassbar für DDD, jedoch weniger Fokus auf Isolation.