Michael Korte – Senior Full-Stack Developer Freelancer aus Dortmund

Teil 14 – Der Core wird leer

Nach dem Einstieg über Logging folgt in v0.2 ein Schritt, der auf den ersten Blick irritieren kann: Der Core verliert aktiv Verantwortung.

Das ist kein Aufräumen aus ästhetischen Gründen, sondern eine bewusste Entscheidung, um Rollen klarer zu trennen.

Warum ein „voller“ Core problematisch ist

In vielen Frameworks beginnt der Core, nach und nach Aufgaben zu übernehmen, die eigentlich zur Anwendung gehören:

  • Default-Seiten
  • Beispiel-Controller
  • Demo-Routen
  • implizite Fallbacks

Das fühlt sich praktisch an, verwischt aber eine entscheidende Grenze: Wo endet das System – und wo beginnt das Projekt?

Die neue Rolle des Cores

Ab v0.2 gilt eine klare Haltung:

  • Der Core rendert nicht „Inhalt“
  • Der Core kennt keine Seiten
  • Der Core trifft keine Projektentscheidungen

Stattdessen stellt er Werkzeuge bereit: Router, Renderer, Middleware, Hooks.

Merksatz

Der Core ist Infrastruktur – kein Projekt.

Controller verlassen den Core

Eine der sichtbarsten Änderungen in v0.2: Controller liegen nicht mehr im Core.

Stattdessen wandern sie konsequent in den Anwendungskontext:


/src            → Core (inhaltsfrei)
/custom/app     → Anwendung
/custom/components → Features
    

Dadurch wird sofort klar, welche Klassen zum System gehören – und welche zum Projekt.

Die App-Shell entsteht

Mit dem leeren Core rückt eine neue Instanz in den Mittelpunkt: die App.

Die App ist kein Projekt im fachlichen Sinn, sondern ein Kontext:

  • Sie hält den Router
  • Sie kennt aktive Components
  • Sie steuert den Lifecycle

Wichtig dabei: Die App enthält selbst keine Domain-Logik.

Warum das System dadurch stabiler wird

Wenn der Core keine Seiten kennt, kann er nicht versehentlich Entscheidungen treffen, die nur für ein einzelnes Projekt sinnvoll wären.

Gleichzeitig wird das Projekt freier: Es kann wachsen, schrumpfen oder ausgetauscht werden, ohne den Core zu verändern.

Architektur-Effekt

Weniger Verantwortung an der falschen Stelle bedeutet mehr Kontrolle an der richtigen.

Nächster Schritt

In Teil 15 schauen wir uns an, wie Routen ab v0.2 nicht mehr „einfach da sind“, sondern bewusst registriert werden.

Projekt & Quellcode

Die Trennung zwischen Core, App und Components ist im Repository bewusst sichtbar umgesetzt. Sie zeigt, wie Architektur nicht erklärt, sondern gelebt wird.