Fachliche Kerndomäne
Warum zentrale Fußballobjekte dieselben Regeln in allen Oberflächen und Jobs durchsetzen.
Neun gemeinsame Kernobjekte
Player, Club, Squad, Competition, Match, Transfer, Contract, Manager und FinanceTransaction besitzen nun eine gemeinsame fachliche Basis. Controller nehmen Eingaben an, DataServices speichern Daten und Jobs planen Arbeit; die Domänenobjekte bestimmen Begriffe, gültige Zustände und unveränderliche Regeln.
Schrittweise statt riskanter Komplettumbau
Die vorhandenen Tabellen, Controller, Services, Nachrichten und Benutzeroberflächen bleiben erhalten. Neue Domänenobjekte werden an den bestehenden Anwendungsschnittstellen eingesetzt. Dadurch muss nicht das gesamte Spiel auf einmal umgebaut werden und jede Umstellung kann einzeln getestet werden.
Transfer als Aggregat
TransferDomain normalisiert alle Abschlussdaten unabhängig von Transfermarkt, Direktangebot, Auktion, Ausstiegsklausel, Leihkauf oder TransferRoom. Es prüft Spieler, Käufer, Verkäufer, Kaderziel und Finanzreferenz, bevor TransferCompletionService das verpflichtende Outbox-Ereignis speichert.
Ein Spieler wechselt für 1,5 Mio. von Verein 3 zu Verein 4. Ein Wechsel von Verein 3 zurück zu Verein 3 oder ein negativer Betrag wird bereits fachlich abgelehnt, bevor News und Folgeprozesse beginnen.
Vollständiger Transferablauf
Der gemeinsame Lebenszyklus kennt Bedarf, Kandidat, Prüfung, Angebot, Verhandlung, Annahme, Abschlussprüfung, Vertrag, Zahlung, Kaderwechsel, Historie sowie abgeschlossen oder abgebrochen. KI und TransferRoom dürfen offene Vorgänge erneut bewerten; abgeschlossen und abgebrochen bleiben endgültig.
Verträge und Finanzen sind eigene Begriffe
ContractDomain bündelt Spieler, Verein, Gehalt, Laufzeit und Boni. FinanceTransactionDomain verlangt eine eindeutige Buchungsreferenz, Betrag, Quelle, Empfänger und Kategorie. Die bisherigen Buchungs- und Vertragsservices bleiben die Persistenzschicht und werden schrittweise an diese Regeln angeschlossen.
Klare Verantwortungsgrenze
Die Domäne rendert kein Twig, versendet keine Nachricht, kennt keinen HTTP-Request und erzeugt keine Tabellen. Sie trifft fachliche Entscheidungen. Application Services koordinieren Datenbanktransaktion und Ereignisse; DataServices lesen und schreiben; Controller übersetzen Benutzereingaben.
Weitere schrittweise Anbindungen
Der Transferabschluss und die Vertragsverlängerung verwenden die Domäne bereits produktiv. Die übrigen Objekte bilden die stabile Grundlage, um als Nächstes Spielabschluss, Wettbewerbsstatus, Kaderregistrierung, Managerwechsel und Finanzbuchung ohne parallele Regelvarianten umzustellen.
Häufige Fragen
Werden alte Services jetzt gelöscht?
Nein. Sie bleiben als Anwendungs- und Persistenzschicht bestehen. Nur doppelte fachliche Regeln werden kontrolliert zur Domäne verlagert.
Ist der Transfer jetzt vollständig zentral?
Der Abschluss und sein Zustandsmodell sind zentral. Angebotsberechnung und einzelne Vorprüfungen werden anschließend schrittweise an dasselbe Aggregat angebunden.