İstekli yükleme nedir?


162

İstekli yükleme nedir? Ben PHP / JS kod ama daha genelleştirilmiş bir cevap sadece iyi olacak.

Java & Ruby ile ilgili birçok soru gördüm, ancak bu dillerden hiçbirini bilmiyorum ve kodu okumakta zorlanıyorum. İlk etapta ne yapması gerektiğini bilmiyorum


Harika bir soru.
PA-GW

Yanıtlar:


384

Üç seviye vardır:

  1. İstekli yükleme: istendiğinde her şeyi yaparsınız. Klasik örnek, iki matrisi çarptığınız zamandır. Tüm hesaplamaları yaparsınız. Bu istekli bir yükleme;
  2. Tembel yükleme: sadece gerektiğinde bir hesaplama yaparsınız. Önceki örnekte, sonuç matrisinin bir öğesine erişinceye kadar hiçbir hesaplama yapmazsınız; ve
  3. Aşırı istekli yükleme: Bu, kullanıcının ne isteyeceğini ve önceden yükleyeceğini tahmin ettiğiniz yerdir.

Umarım gördüğünüz bağlamda mantıklıdır.

Size bir "Webby" örneği vereyim.

Menü öğeleri veya gezinme gibi fareyle üzerine gelme görüntüleri olan bir sayfa düşünün. Resim yüklemenin bu sayfada çalışmasının üç yolu vardır:

  1. Sayfayı oluşturmadan önce gereken her görüntüyü yükleyin ( istekli );
  2. Sayfa yüküne yalnızca görüntülenen görüntüleri yükleyin ve gerektiğinde / gerektiğinde diğerlerini yükleyin ( tembel ); ve
  3. Sayfa yüklendiğinde yalnızca görüntülenen görüntüleri yükleyin. Sayfa yüklendikten sonra, ihtiyacınız olması durumunda diğer görüntüleri arka planda önceden yükleyin ( aşırı istekli ).

Mantıklı olmak?


3
Belirli bir sorunun ötesine geçerek denize düştüğünüz halde; bu hala mükemmel bir cevap. Kısa, basit ve bir örnek veriyor.
Phil

23

Nesneye ihtiyaç duyulana kadar bir nesnenin başlatılmasını engelleyen tembel yüklemenin tersidir . İstekli yükleme, oluşturma işleminde bir nesneyi başlatır.


1
Bu terimlerin genellikle ilişkisel veritabanındaki bir tabloya bir nesneyi eşlediğiniz bir ORM (Nesne İlişkisel Eşleyici) bağlamında (ve belki de?) Kullanıldığını ekleyebilirim.
Loki

10

Bir adı, doğum tarihi ve daha az kritik ayrıntılara sahip kişi olarak adlandırılan bir nesneye sahip olduğunuzu hayal ederseniz, favori renk, favori tv programı diyelim.

Bu sınıfı tembel yüklemek için, belki de bir veritabanından tüm çekirdek daha sık kullanılan ayrıntıları (adı ve doğum tarihini söyleyin) okumaya başlamayacaksınız ve sadece gerektiğinde / gerekirse, daha az kullanılan ayrıntıları okuyacaksınız, istekli yükleme tam tersidir , yani tüm ayrıntıları aynı anda yüklersiniz.

Tembel yüklemenin faydaları genellikle etkinlik olarak vatandaşlığa tabidir, ancak nesneler bu kadar karmaşık değilse veya etkinlik endişe verici değilse istekli yükleme kullanılabilir


7
Bunu düşündüğünüzde, tembel yükleme her işlev çağrısında daha az bellek ve daha fazla hesaplama ile ilgilidir, istekli yükleme ise sınıf oluşturulduğunda daha fazla bellek ve daha fazla hesaplama ve işlev çağrıldığında daha az hesaplama kullanır.
Loki

0

İstekli yükleme da uygulama tarayıcı içinde yüklenen anlık otomatik, anında, örneğin, belirli bir modül içindeki tüm kodu almak sadece bir yaratılmış demek olduğunu Açısal 8. Sadece araçlarında kullanılan Kimlik Doğrulama Modülü bir ile signin ve Kaydol Uygulama Modülüne aktarılan bileşen .

Buna karşılık, orada geç yükleme biz söyleyince olduğunu App Modülü vardır Auth Modülü sadece yüklemek için, içine yüklenen Auth Modülü böyle bir kullanıcı belirli rota gittiğinde olarak zaman içinde belirli bir noktada.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.