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