Sobes.tech
Junior — Middle

Können Sie das Konzept des Lazy Loading von Daten erklären und in welchen Fällen es angewendet wird?

sobes.tech KI

Antwort von AI

Lazy Loading (Lazy Laden) ist ein Muster, bei dem das Laden oder die Initialisierung einer Ressource nicht sofort erfolgt, sondern erst beim ersten Zugriff darauf. Dies spart Ressourcen und beschleunigt den Programmstart, indem schwere Objekte nur bei Bedarf geladen werden.

In C# wird Lazy Loading häufig mit der Klasse Lazy<T> implementiert, die die Logik der Objekterstellung kapselt und garantiert, dass das Objekt nur beim ersten Zugriff auf die Eigenschaft Value erstellt wird.

Beispiel:

Lazy<HeavyObject> lazyObject = new Lazy<HeavyObject>(() => new HeavyObject());

// HeavyObject wird erst erstellt, wenn wir:
var obj = lazyObject.Value; // Hier erfolgt die Initialisierung

Lazy Loading wird angewendet, wenn:

  • Die Erstellung des Objekts zeit- oder ressourcenintensiv ist.
  • Das Objekt während der Ausführung möglicherweise nicht benötigt wird.
  • Es notwendig ist, die Nutzung von Speicher und Leistung zu optimieren.

In ORM (z.B. Entity Framework) wird Lazy Loading verwendet, um verbundene Daten aus der Datenbank nur beim Zugriff darauf zu laden, nicht sofort beim Laden des Hauptobjekts.