Sobes.tech
Junior — Middle

Veri gecikmeli yükleme kavramını açıklayabilir misiniz ve hangi durumlarda kullanılır?

sobes.tech yapay zeka

AI'dan gelen yanıt

Lazy Loading (Tembel Yükleme), bir kaynağın yüklenmesi veya başlatılmasının hemen gerçekleşmediği, yalnızca ilk erişimde gerçekleştiği bir desen. Bu, kaynakları tasarruf etmeye ve programın başlatılmasını hızlandırmaya olanak tanır, ağır nesneleri yalnızca gerektiğinde yükler.

C#'ta, Lazy Loading genellikle Lazy<T> sınıfı kullanılarak uygulanır; bu sınıf, nesne oluşturma mantığını kapsüller ve nesnenin yalnızca Value özelliğine ilk erişimde oluşturulmasını sağlar.

Örnek:

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

// HeavyObject, şu çağrılmadıkça oluşturulmaz:
var obj = lazyObject.Value; // Burada başlatma gerçekleşir

Lazy Loading, şu durumlarda kullanılır:

  • Nesnenin oluşturulması zaman veya kaynak açısından maliyetliyse.
  • Nesne çalışma sırasında gerekliyse gerekmez.
  • Bellek ve performans kullanımını optimize etmek gerekiyorsa.

ORM'de (örneğin, Entity Framework) Lazy Loading, ilişkili verilerin yalnızca erişildiğinde yüklenmesi için kullanılır, ana nesne yüklenirken değil.