Bei Study anmelden

Diese Seite ist der öffentliche eMedys-Auftritt. Dein Konto und deine privaten Inhalte laufen auf Study; die Anmeldung öffnet sich dort in einem eigenen Fenster.

Am Programmeingang wird das System zusammengesetzt

Konfiguration, Protokollierung und Dienste von der eigentlichen Arbeit trennen.

Lernkarte: Host, Cancellation, Lebensdauer
Ein Programmeinstieg sollte erkennen lassen, aus welchen Teilen der Dienst besteht. Der Host verwaltet die Laufzeit, während registrierte Dienste ihre jeweilige Aufgabe übernehmen. Dependency Injection bedeutet dabei: Ein Objekt erhält benötigte Abhängigkeiten, statt sie überall selbst zu bauen. Das macht ihre gemeinsame oder getrennte Lebensdauer sichtbar. Ein Singleton existiert im Container gewöhnlich einmal; daraus folgt noch nicht, dass sein veränderlicher Zustand bei parallelem Zugriff sicher ist. Die Zusammensetzung benennt Besitz und Lebensdauer, sie ersetzt keine Synchronisationsentscheidung.

Ein Beispiel

Im Beispiel erhält ein Listener einen Logger und eine Konfiguration im Konstruktor. Zwei Listener teilen denselben Logger. Eine Liste offener Verbindungen gehört dagegen zum jeweiligen Listener. Beim Lesen der Registrierung wird sichtbar, welche Objekte geteilt werden und welche nicht.

Mit meinem Konto üben →

Alle Lernwege