| 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. |
| 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. |
| 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. |
| 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. |
| 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. |
| 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. |