Vertical Slice Architecture (VSA)
Details
- Auch bekannt als
-
VSA, Feature Slices
Kernkonzepte:
- Vertikale Schnitte
-
Jedes Feature ist als End-to-End-Schnitt organisiert, der alle Schichten umfasst (Request, Validierung, Domänenlogik, Persistenz, API)
- Feature-Kohäsion
-
Code für ein Feature liegt unabhängig von der technischen Schicht zusammen
- Keine horizontalen Schichten
-
Vermeidet traditionelle geschichtete Architektur (Controller, Services, Repositories) als primäres Organisationsprinzip
- CQRS-Ausrichtung
-
Passt natürlich zur Command/Query-Trennung pro Schnitt
- Dünne gemeinsame Schicht
-
Minimale gemeinsame Infrastruktur; jeder Schnitt besitzt sein eigenes Verhalten
- Sprechende Absicht
-
Ordner-/Namespace-Struktur spiegelt Features wider, keine technischen Belange
- Unabhängige Weiterentwicklung
-
Jeder Schnitt kann unabhängig mit minimalen übergreifenden Änderungen weiterentwickelt werden
- Reduzierte Kopplung
-
Änderungen an einem Feature beeinflussen selten andere Features
- Schlüsselvertreter
-
Jimmy Bogard
Wann zu verwenden:
-
Anwendungen mit vielen verschiedenen Geschäftsfeatures
-
Wenn Feature-Teams die End-to-End-Lieferung verantworten
-
Um Merge-Konflikte in großen Teams zu reduzieren
-
Wenn traditionelle Schichtenarchitektur zu viel Kopplung zwischen Features erzeugt