Sprint 1 war sauber. Sprint 10 ist Chaos.
Ihr habt die Architektur bewusst entworfen. Dann kam Zeitdruck, dann kamen Ausnahmen, dann kamen neue Leute ohne Kontext. Jardis macht Architektur-Grenzen unveränderlich, statt sie dem täglichen Pragmatismus zu überlassen.
Gute Architektur hält nicht von alleine.
Erosion entsteht nicht durch Böswilligkeit. Sie entsteht durch tausend kleine Entscheidungen unter Druck, jede einzeln vertretbar, in der Summe zerstörerisch.
Domain-Grenzen lösen sich schleichend auf
Jede Grenzüberschreitung beginnt mit einer Ausnahme: einmal direkt auf die Nachbar-Tabelle zugreifen, einmal Business-Logik im Controller. Ein Jahr später sind die Bounded Contexts nur noch Ordnernamen ohne inhaltliche Bedeutung.
Niemand kennt noch den Gesamtzustand
Neue Teammitglieder sehen die ursprüngliche Architektur-Idee nicht mehr, nur ihren aktuellen Zustand. Sie fügen sich ein, wie das System gerade ist, nicht wie es sein sollte. Jede neue Person beschleunigt den Verfall.
Fixes erzeugen neue Erosionsstellen
Wer die erodierte Struktur reparieren will, baut Korrekturen auf ein wackeliges Fundament. Jeder Patch erzeugt neue Abhängigkeiten. Nach drei Runden ist der Fix teurer als das ursprüngliche Problem.
Wie Jardis Architektur-Erosion aufhält.
Jardis erzeugt Domain-Grenzen die nicht durch Konventionen gehalten werden, sondern durch die physische Struktur des PHP-Codes selbst.
Architektur die nicht erodieren kann
Der Jardis Builder generiert jeden Bounded Context als eigenständiges PHP-Package mit erzwungener Abhängigkeitsrichtung. Domain-Logik kann strukturell nicht in den Application-Layer wandern. Die Grenze existiert im Dateisystem, nicht nur in Dokumenten. Kein Zeitdruck ändert das.
Neue Features beginnen auf der gleichen Grundlage
Jeder neue Bounded Context wird mit der gleichen hexagonalen Architektur generiert: Entities, Commands, Queries, Events, API Contracts, Repository Pipeline. Das Team erweitert das System, ohne dass neue Teile anders aufgebaut sind als bestehende. Kein gradueller Struktur-Drift.
Builder re-runs zerstören keine bestehende Logik
Das Hash-basierte Manifest von Jardis erkennt manuell geschriebene Anpassungen und schützt sie bei jedem Builder-Lauf. Teams können das Schema weiterentwickeln und den Builder erneut ausführen, ohne Custom Code zu verlieren. Die Architektur wächst mit, ohne aufzuweichen.
Sieh selbst, was aus drei Dateien entsteht.
Drei Definitionsdateien rein, ein kompletter Bounded Context raus. Klick dich durch den generierten Code.
# Database Schema — Sales Bounded Context
# This file defines the persistent storage structure.
schema:
domain: ECommerce
boundedContext: Sales
tables:
order:
columns:
id:
type: integer
primary: true
autoIncrement: true
public_id:
type: uuid7
unique: true
customer_email:
type: string
length: 255
status:
type: string
length: 32
default: "draft"
total_amount:
type: integer
currency:
type: string
length: 3
default: "EUR"
created_at:
type: datetime
updated_at:
type: datetime
nullable: true
order_item:
columns:
id:
type: integer
primary: true
autoIncrement: true
order_id:
type: integer
foreignKey:
table: order
column: id
onDelete: cascade
product_name:
type: string
length: 255
sku:
type: string
length: 64
quantity:
type: integer
unit_price:
type: integer
line_total:
type: integer
Warum Architektur mit Jardis hält.
Eine Struktur die ausschließlich durch Teamwissen getragen wird, erodiert wenn das Wissen geht. Jardis macht die Architektur unabhängig vom Kontext einzelner Personen.
Grenzen die niemand versehentlich überschreiten kann
Domain-Isolation ist in der Ordnerstruktur kodiert. Kein Entwickler kann die Grenzen ohne bewusste Entscheidung durchbrechen. Erosion durch Unwissenheit oder Zeitdruck ist physisch ausgeschlossen.
Die Architektur überlebt Team-Fluktuation
Wenn Entwickler das Team verlassen, bleibt die Struktur. Neue Entwickler treten in eine Architektur ein, die sich selbst erklärt. Der Standard ist eingebaut, nicht in Wiki-Seiten versteckt.
Größere Codebasis, gleiche Klarheit
Weil jeder neue Bounded Context identisch aufgebaut wird, wächst das System ohne strukturelle Divergenz. Sprint 50 hat die gleiche Architektur-Qualität wie Sprint 1. Keine akkumulierten Kompromisse.
Bereit, eure Architektur langfristig zu sichern?
Auf die WaitlistStruktur kostet weniger als Chaos.
Teste Jardis 7 Tage kostenlos
Lass Jardis an deiner echten Domäne los. Discovery, Struktur und dein erster Platform Build.
Join WaitlistDie komplette DDD-Architektur mit allen Klassen und Contracts. Dein Team schreibt Features, nicht Infrastruktur.
Join WaitlistDie komplette Business-Logik mit Handlern, Validierung und Pipelines. Was früher ein Sprint war, ist jetzt ein Build.
Join WaitlistMehr als 20 Platform Builds pro Monat?
Lass uns sprechenSei dabei, wenn Jardis startet.
Trag dich ein. Du bekommst Zugang, sobald wir live gehen. Inklusive kostenlosem Trial.
Neugierig, wie Jardis funktioniert?
Jardis entdeckenHäufige Fragen
Antworten auf die wichtigsten Fragen zu Jardis und Architektur-Erosion.
Richtlinien in Wikis oder ADRs setzen auf Disziplin. Unter Zeitdruck werden sie ignoriert. Jardis kodiert Domain-Grenzen als Ordnerstruktur im Dateisystem. Ein Bounded Context kann physisch nicht auf die Interna eines anderen zugreifen. Die Grenze gilt unabhängig von Teamwissen oder Projektsituation.