Vergleich
Hexagonale vs. Drei-Schichten-Architektur
Separation of Concerns (1/6)
Three-Layer Architecture Hexagonal Architecture
- Business Layer besteht sowohl aus fachlichen als auch technischen Komponenten.
- Hohe Kopplung von Business Layer und Data Layer.
- Deutliche Abgrenzung zwischen Geschäftslogik und externen Systemen.
Testbarkeit (2/6)
Three-Layer Architecture Hexagonal Architecture
- Unittests schwierig zu entwickeln
- wegen Abhängigkeiten der Layer
- wegen Kopplung technischer und fachlicher Komponenten.
- Unittests einfacher zu entwickeln
- wegen Isolierung der Geschäftslogik via Ports
- weil Mocks einfacher zu entwickeln sind.
Flexibilität und Erweiterbarkeit (3/6)
Three-Layer Architecture Hexagonal Architecture
Anpassungen an einem Layer haben in der Regel Auswirkungen auf andere Layer. Durch Adapter sind Anpassungen möglich, ohne andere Layer wesentlich zu beeinflussen.
Wartbarkeit (4/6)
Three-Layer Architecture Hexagonal Architecture
Mit der Zeit wächst der Business Layer mit seinen fachlichen und technischen Anforderungen, so dass die Wartbarkeit stetig abnimmt. Klare Trennung von Schichten und Verantwortlichkeiten sorgt für sauberen Code und hohe Wartbarkeit.
Skalierbarkeit (5/6)
Three-Layer Architecture Hexagonal Architecture
Änderungen in den Skalierungsanforderungen können erhebliche architektonische Anpassungen erfordern. Die Entkopplung von Geschäftslogik und externen Systemen ermöglicht Skalierungsänderungen in spezifischen Adaptern ohne Beeinträchtigung der Kernlogik.
Anpassungsfähigkeit an Änderungen (6/6)
Three-Layer Architecture Hexagonal Architecture
Äußerst starr bei Änderungen, insbesondere wenn sie die Geschäftslogik oder Datenzugriffsmuster beeinflussen. Erleichtert Anpassungen, da Änderungen an Geschäftsregeln oder externen Schnittstellen auf periphere Systeme (Adapter) beschränkt sind, ohne die Kernlogik zu beeinflussen.