Vra

Wat is Lazy laai?

[wysig na die lees van 'n paar antwoorde] Hoekom doen mense gebruik hierdie term dikwels?

Sê jy net gebruik om 'n ASP / ADO rekordstel en laai dit met data of ADO.NET Databron vir 'n gridview.

Ek dink ek moes vra waarom mense gebruik die term Lazy laai, wat "ander" tipes is hulle?

Was dit nuttig?

Oplossing

Dit is bekend as lui laai omdat, soos 'n lui persoon, jy sit af iets wat jy nie wil doen. Die teenoorgestelde is gretig om te laai, waar jy iets te laai dadelik, lank voor jy dit nodig het.

As jy nuuskierig is waarom mense lui laai kan gebruik, oorweeg 'n aansoek dat 'n looooong tyd om te begin neem. Hierdie aansoek is waarskynlik besig met 'n baie gretig laai ... laai dinge van die skyf, en doen berekeninge en noem maar op lang voordat dit ooit nodig is.

Vergelyk dit met lui laai, sal die aansoek baie vinniger begin, maar dan is die eerste keer wat jy nodig het om iets wat 'n paar lang loop vrag vereis doen, is daar dalk 'n kort verposing wees terwyl dit gelaai vir die eerste keer. So, met lui laai, jy aflossing die vrag tyd deur die loop van die bestuur van jou aansoek ... en jy kan eintlik red van die laai dinge wat die gebruiker nooit mag van plan is om te gebruik.

Ander wenke

Lazy laai is 'n programmeertaal praktyk waarin jy net laai of inisialiseer 'n voorwerp wanneer jy die eerste keer het dit nodig. Dit kan potensieel gee jou 'n groot prestasie hupstoot, veral as jy 'n baie van die komponente in jou aansoek.

Soos gewoonlik, Wikipedia meer besonderhede.

Lazy laai is 'n konsep waar ons vertraag die laai van die voorwerp eenheid op die punt waar ons dit nodig het. Om in eenvoudige woorde op aanvraag voorwerp laai eerder as die laai van die voorwerpe onnodig. Byvoorbeeld as jy 'n "kliënt" klas wat "ordes" voorwerp saamgevoeg het. So jy wil die data kliënt te laai, maar die bestellings voorwerpe wat jy graag wil uitstel totdat jou aansoek nodig het.

Hier is 'n YouTube-video wat wys hoe om lui laai gebruik, hoe ons lui laai en voor- en nadele van dieselfde kan implementeer.

http://www.youtube.com/watch?v=2SrfdAkwmFo

Definisie wikipedia se Lui laai is 'n ontwerp patroon wat algemeen gebruik word in rekenaarprogrammering te inisialisering van 'n voorwerp te stel totdat die punt waar dit benodig word. ...

http://en.wikipedia.org/wiki/Lazy%20loading

Die term lui laai word gewoonlik gebruik wanneer dit gaan oor voorwerp relationele mappers. As jy ADO.NET gebruik direk jy altyd kry gretig laai (dit wil sê dit altyd laai net wat jy spesifiseer).

OR-mappers soos nHibernate ondersteuning terugkeer proxy voorwerpe wat kry "ingevul" met die regte data net wanneer jy toegang tot die data. Die manier wat jy net die data wat jy regtig gebruik laai. Dit is 'n nuttige funksie wanneer jy 'n baie van die verhoudings tussen voorwerpe wat kan raak gelaai uit die databasis te spesifiseer, wil jy dit nie die OR-kartograaf om al die verwante voorwerpe en die voorwerpe wat verband hou met die verwante voorwerpe en so aan te laai. Wat kan lei tot jou hele databasis raak gelaai.

Hierdie probleem kan voorkom word deur versigtig ontwerp van jou voorwerp model ook. (Met behulp van aggregate en net laai totale wortels soos in domein gedrewe ontwerp is 'n manier om hierdie te kry sonder die gebruik van lui laai).

Lazy laai kan lei tot die of kartograaf doen baie klein databasis toegang in plaas van die herwinning van al die data wat jy nodig het 'n keer. Dit kan lei tot prestasie probleme ook.

Hier is 'n voorbeeld van 'n paar werklike Python kode wat ek geskryf het:

class Item(Model):
    ...
    @property
    def total(self):
        if not hasattr(self, "_total"):
            self._total = self.quantity \
                  + sum(bi.quantity for bi in self.borroweditem_set.all())
        return self._total

Eintlik, ek het 'n punt klas wat 'n item in ons inventaris verteenwoordig. Die totale aantal items wat ons het is die getal wat ons besit plus die som van al die items wat ons leen uit verskeie bronne. Hierdie getalle is almal gestoor in ons databasis, en dit sou sinneloos om hierdie te bereken word totdat die totale werklikheid is versoek (sedert dikwels Items sal gebruik word sonder die totale aangevra).

So het die totale tjeks eiendom of die _total veld bestaan. As dit nie gebeur nie, dan is die eiendom kode navrae die databasis en bere dit, dan slaan die waarde in die _total veld sodat dit nie hoef te word recomputed die volgende keer dit versoek.

Lazy laai: jy mors nie jou tyd (nie jou geheue) met dinge wat jy dalk nodig het nie. Dan wanneer jy dit nodig het, neem dit langer, maar dit is goed.

Voorbeeld van die lewe: in plaas van werklik leer dat die Franse Taalgids, leer jy die frases een op 'n tyd, as wat hulle nodig het is. Wanneer vind hierdie sin maak? As jy net gaan wees in Frankryk vir 'n kort tyd (dit wil sê, sal jy nie 'n groot deel van die frases moet) of as jy nodig het om baie gou verlaat. As jy daar is vir twee jaar en / of jy het 'n lang tyd om te studeer, dan is dit dalk baie meer doeltreffend wees om net te leer die hele Taalgids voorlangs (gretig laai).

[geïnspireer deur die Atom soos geleer in bende terme deur Venus op WKRP .]

Lazy laai is 'n term wat dikwels gebruik word in databasisse te verwys na die konsep van die laai dele van die vereiste inligting slegs wanneer dit nodig is.

I.E. veronderstel jy wat nodig is om 'n rekord wat 'n sluit van 'n paar tafels het. As jy dit alles gaan haal 'n keer sou dit meer as wanneer jy sou haal sê net die hooftafel te neem. Die gebruik van lui-laai die res van die inligting sal haal slegs indien dit nodig is. So dit is eintlik 'n doeltreffende aflaai "in sekere scenario's.

Die ander vorme van 'laai' is:

  1. Gretig om te laai -. Laai al die verbonde tafels gelyktydig

'n Ontwerp patroon.

Lazy laai: Tot jou kode verg 'n paar operasie gedoen deur 'n spesifieke voorwerp, is voorwerp nie initilaized, en nadat dit geïnisialiseer dit nie weer inisialiseer die voorwerp, maar maak gebruik van die voorheen geïnisialiseer voorwerp

.

Dit maak jou kode veel meer doeltreffende en help bestuur geheue gebruik.

Voorbeeld Aansoeke van Lazy laai:

Ghost lui inisialisering Waarde houer

Van die voordele van lui laai:

  1. verminder begin tyd van die aansoek.
  2. Aansoek verbruik minder geheue as gevolg van on-demand laai.
  3. Onnodige versoek om bediener vermy.

'n Voorbeeld van Lazy Loading sal 'n rooster of tafel met baie van die data op 'n webblad om te sien waar die aansoek net laai wat die gebruikers leser oogpunt grootte is op daardie tydstip. Wanneer hulle gaan na meer wil weet inhoud of data te kan sien, sal meer data gelaai word in die lig op daardie oomblik.

Dit is al hoe meer van 'n gemeenskaplike visuele / interaksie ontwerp patroon sowel via Ajax of jQuery.

En as hierbo genoem, sal die teenoorgestelde Gretig om te laai waar jy nie kliënt in ag neem dus potensieel 'n prestasie treffer wees.

Lazy<T> is nou deel van c # 4.0 - daar is 'n mooi bladsy op MSDN wat die konsep verduidelik.

Volgens geeksforgeeks, Lazy laai is 'n sagteware ontwerp patroon waar die inisialisering van 'n voorwerp kom slegs wanneer dit werklik nodig is en nie voor die eenvoud van gebruik te bewaar en te verbeter prestasie.

https://www.geeksforgeeks.org/lazy-loading-design- patroon /

Gelisensieer onder: CC-BY-SA met toeskrywing
Nie verbonde aan StackOverflow
scroll top