Zum Inhalt springen

Inkonsistente Architektur. Vier Devs, vier Stile.

Der eine nutzt Active Record, die andere Repository Pattern, der dritte hat eigene Konventionen. Kein Linter fängt das auf. Jardis erzwingt eine einheitliche DDD-Architektur in PHP, auf Dateisystem-Ebene.

Warum Code Reviews inkonsistente Architektur nicht verhindern.

42% der PHP-Entwickler nutzen keine Code-Quality-Tools. Aber selbst wer PHPStan, Psalm und CS-Fixer einsetzt, hat kein Werkzeug das architektonische Konsistenz erzwingt.

Gleiche Aufgabe, drei verschiedene Lösungen

Team A legt Entities mit Active Record an. Team B nutzt ein Repository Pattern. Team C hat eigene Base Classes. Alle drei Ansätze funktionieren isoliert. Zusammen erzeugen sie ein System, das niemand als Ganzes versteht.

Jedes Onboarding startet bei null

Neue Entwickler können kein Muster erkennen, weil keins existiert. Jeder Bounded Context sieht anders aus. Was in Modul A gilt, ist in Modul B irrelevant. Einarbeitungszeit multipliziert sich mit der Anzahl der Patterns.

Reviews prüfen Stil, nicht Struktur

Code Reviews fangen Formatierung und offensichtliche Fehler ab. Ob ein Service direkt auf die Datenbank zugreift statt über ein Repository, ob Events gefeuert werden oder nicht: das sind architektonische Entscheidungen, die in keinem Linter-Regelset stehen.

Ein Standard der im Code lebt, nicht im Wiki.

Der Jardis Builder generiert jeden Bounded Context mit identischer hexagonaler Architektur. Kein Interpretationsspielraum, kein Stilfrage-Debatte.

EIN BLUEPRINT

Identische Struktur für jeden Bounded Context

Ob Team A oder Team B den Context anlegt: der Builder generiert dieselbe Verzeichnisstruktur, dieselben Layer, dieselben Patterns. Entities in der Domain, Repositories in der Infrastructure, Use Cases in der Application. Nicht weil es Regeln gibt, sondern weil die Struktur so erzeugt wird.

PHYSISCHE GRENZEN

Schichten die sich nicht umgehen lassen

Der Builder erzeugt physische Package-Grenzen. Ein Controller kann nicht direkt auf eine Entity zugreifen, weil die Abhängigkeitsrichtung in der Ordnerstruktur kodiert ist. Shortcuts die in Reviews durchrutschen, sind strukturell unmöglich.

WIEDERHOLBAR

Gleicher Input, gleiches Ergebnis. Jedes Mal.

Schema definieren, Builder starten. Der Output ist deterministisch. Egal wer den Builder ausführt, egal wann: die Architektur ist identisch. Keine Abweichungen durch individuelle Interpretation, kein Drift durch Teamwechsel.

Sieh selbst, was aus drei Dateien entsteht.

Drei Definitionsdateien rein, ein kompletter Bounded Context raus. Klick dich durch den generierten Code.

E-Commerce / Sales
schema.yaml
# 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
Dateien
Definitions (Input)
Generated Code (Output)
EINHEITLICHER STANDARD
100%
Architektur-KonformitätJeder generierte Bounded Context folgt exakt derselben hexagonalen Architektur. Kein Entwickler interpretiert die Struktur anders.
80%
Architektur-Code generiert
3x
schnelleres Onboarding neuer Devs
KONSISTENZ
0
Architektur-Abweichungen zwischen TeamsOb Team A oder Team B migriert: der generierte Code folgt denselben Patterns. Kein Architektur-Drift, keine teamspezifischen Abweichungen.

Warum Teams mit inkonsistenter Architektur auf Jardis setzen.

Weil ein Architektur-Standard der nur in Köpfen existiert, mit jedem Teamwechsel schwächer wird.

> Einheitliche Basis

Jedes Modul folgt dem gleichen Aufbau

Der Builder generiert dieselbe hexagonale Struktur für jeden Bounded Context. Wer ein Modul kennt, kennt alle. Kein Rätselraten welches Pattern hier gilt.

> Nachvollziehbar

Architektur lebt im Repository, nicht in Slide Decks

Eure Architektur ist der generierte Code. Änderungen sind über Git-Historie nachvollziehbar und reviewbar. Kein Drift zwischen Dokumentation und Realität.

> Weniger Reibung

Code Reviews werden produktiver

Wenn die Grundstruktur steht, diskutieren Reviews Business-Logik statt Architektur-Stil. Weniger Debatten über Patterns, mehr Fokus auf fachliche Korrektheit.

Bereit, eurer Architektur einen einheitlichen Standard zu geben?

Auf die Waitlist

Struktur kostet weniger als Chaos.

Kostenloser Trial

Teste Jardis 7 Tage kostenlos

Lass Jardis an deiner echten Domäne los. Discovery, Struktur und dein erster Platform Build.

Join Waitlist
20 Discovery Runs
5 Structure Builds
1 Platform Build
Alle Jardis Packages als Open Source
Jardis Base
29 €pro Monat

Die komplette DDD-Architektur mit allen Klassen und Contracts. Dein Team schreibt Features, nicht Infrastruktur.

Join Waitlist
Unlimited Discovery Runs
Unlimited Structure Builds
Alle 26 Jardis Packages enthalten
PHPStan Level 8 von Anfang an
Jardis Pro
180 €pro Monat

Die komplette Business-Logik mit Handlern, Validierung und Pipelines. Was früher ein Sprint war, ist jetzt ein Build.

Join Waitlist
Alles aus Jardis Base
Commands, Queries, Events direkt implementiert
Platform Code in Sekunden statt Wochen
Weitere Runs für 89 € einzeln
Enterprise

Mehr als 20 Platform Builds pro Monat?

Lass uns sprechen

Sei dabei, wenn Jardis startet.

Trag dich ein. Du bekommst Zugang, sobald wir live gehen. Inklusive kostenlosem Trial.

100+ Entwickler warten bereits auf den Launch

Neugierig, wie Jardis funktioniert?

Jardis entdecken

Häufige Fragen

Antworten zur Beseitigung inkonsistenter Architektur mit Jardis.

Nicht automatisch. Aber du kannst neue Bounded Contexts sauber generieren und bestehende Domains schrittweise migrieren. Der Jardis Builder importiert euer bestehendes Datenbankschema und erzeugt die Zielarchitektur. Euer Team verschiebt Business-Logik Stück für Stück in die konsistente Struktur.