Resource Boundary
Eine Resource Boundary definiert, was eine Domäne besitzt und für was sie nur eine Referenz hält. Ohne klare Grenzen entstehen implizite Abhängigkeiten, die Deployments koppeln und Verantwortlichkeiten verwischen.
Das Problem
Abschnitt betitelt „Das Problem“interface Task { id: string; title: string; assignedUser: User; // ← vollständiges User-Objekt in der Tasks-Domäne}Die Tasks-Domäne kennt jetzt alle Felder eines Users. Ändert sich das User-Model, ändert sich auch der Task-Code — auch wenn Tasks gar nicht von der Änderung betroffen sind.
Die Lösung: Referenz statt Objekt
Abschnitt betitelt „Die Lösung: Referenz statt Objekt“interface Task { id: string; title: string; assignedUserId: string; // ← nur die Referenz}
interface TaskViewModel { id: string; title: string; assigneeDisplayName: string; // ← aufgelöst im Adapter-Layer}Die Tasks-Domäne besitzt den Task. Sie besitzt nicht den User. Sie hat nur seine ID.
Bounded Contexts im Frontend
Abschnitt betitelt „Bounded Contexts im Frontend“In einem Micro-Frontend-Setup bedeutet das: jedes Remote kennt nur seine eigenen vollständigen Objekte. Referenzen auf andere Bounded Contexts sind IDs — aufgelöst im Shell oder in einer dedizierten Aggregations-Schicht.
Wann das wichtig wird
Abschnitt betitelt „Wann das wichtig wird“Sobald mehrere Teams an verschiedenen Domänen arbeiten und unabhängig deployen sollen. Starke Kopplung auf Typenebene erzeugt Deployment-Kopplung.