---
subtitle: DI Foundation und Service-Refactor
versionsnatur: Architektur-Cycle
---

- **Architektur-Umbau ohne User-spürbare Verhaltens-Änderung:** der Plugin-Bootstrap wechselt auf
  einen Generic-Host DI-Container (`Microsoft.Extensions.Hosting` + `IServiceCollection`) nach dem
  Lightless-Sync-Muster. 18 Service-Klassen wandern von einem statischen `Plugin.LogProxy`-Locator
  auf typisierte `ILogger<T>`-Constructor-Injection. `DalamudLogger` brückt
  `Microsoft.Extensions.Logging` über auf Dalamuds `IPluginLog` — im xllog erscheinen jetzt
  Service-spezifische Spalten wie `[ MessageManager]` und `[Honori...ervice]`.
- **Plugin.LogProxy bleibt für die acht Buckets erhalten,** die Constructor-Injection nicht
  erreicht: Static-Helper (EmoteCache, AutoTranslate, MemoryUtil, WrapperUtil), Dalamud-Reflektion
  (Configuration), Data-Class mit Massen-Instanziierung (Message) und Instanz-Klassen die nur aus
  Static-Methods loggen (FontManager, eine GameFunctions-Stelle).
- **Performance bestätigt durch Cross-Plugin-Baseline:** HellionChat First-Frame-HITCH 77 ms Median,
  Chat 2 v1.40.2 74 ms Median — kein DI-Penalty gegenüber dem Upstream-Fork-Origin. Lightless und
  XIVInstantMessenger liegen bei ~7 ms weil sie ihren FontAtlas-Build deferren; das wird das
  v1.5.1-Item.
- **User-sichtbarer Bug-Fix nebenbei:** Slash-Command-Einfügen in das Chat-Eingabefeld (Friend-List
  "/tell"-Action plus Plugin-Inserts von Artisan, AllaganTools und ähnlichen) ersetzt jetzt den
  vorhandenen Input, statt anzukonkatenieren. Cherry-Pick aus ChatTwo upstream `ee7768ac` mit
  Namespace-Anpassung.
- **Foundation für die Plugin-Integrations-Wave:** v1.5.7-11 (Context-Menu, NotificationMaster,
  Moodles, ExtraChat, XIVIM Quick-DM) werden ab jetzt strukturell handhabbar — neue Services sind
  ein `services.AddSingleton<T>` plus ein paar Factory-Lambda- Zeilen, kein Plugin.cs-Anflanschen
  mehr.
- Migration v17 unverändert: kein Schema-Bump, kein Config-Migrations-Aufwand.
