Laiska lastaus
Laiska lastaus , kirjaimellisesti "laiska loading" (lisää osuvasti: "idle loading"), kuvaa muotoilu kuvio ohjelmistokehityksen jossa data esineet yleensä antaa arvoja tai muita riippuvainen esineitä, mutta vain noutamaan tietolähteestä, kun tietty pyyntö.
Päinvastaista kutsutaan "innokkaaksi lataukseksi"; kaikki ennakoitavat vaaditut tiedot haetaan välittömästi ja mahdollisimman tehokkaasti.
Syyt hakemukseen
Syy sovellukseen voi olla se, että sisällön noutaminen on aikaa vievää tai resursseja vievää, esimerkiksi tietokantakyselyn , verkkopalvelupyynnön tai monimutkaisen käsittelyn tapauksessa, eikä aluksi ole vielä selvää, mitä tietoja todella tarvitaan. Muuten tietorakenteiden vahvalla verkottumisella U. laajat kaskadit laukaisivat yhä enemmän latausprosesseja.
Toteutusvaihtoehdot
- Laiska alustus
- enimmäkseen toteutettu ominaisuuksien kanssa ohjelmakoodissa; Ulkopuolelta nämä ovat arvoja tai objekteja, alustava ohjelmakoodi suoritetaan vain, kun niitä kysytään tai muutetaan. Ominaisuuden odotetun sisällön haku johtaa sitten tämän alustuskoodin suorittamiseen, joka tosiasiallisesti saa tämän sisällön, esim. B. tietokannasta.
- Virtuaalinen välityspalvelin
- ulkoisesti identtinen esine, jolla on sama rajapinta, asettuu todellisen objektin tilalle; ensimmäistä kertaa sitä käytettäessä se saa tarvittavat tiedot ja asettaa ne saataville tai korvataan täysimittaisella esineellä.
- Aave
- Välityspalvelimen erityinen muoto, joka sisältää alusta alkaen haettavan dataobjektin yksilölliset, tunnetut ominaisuudet (esim. ID-numero), jotta sitä voidaan käyttää rajoitetusti tarvitsematta hakea todellisia tietoja.
- Arvon haltija
- apuobjekti, joka hallitsee viivästettyä tiedonkeruuta ja tuottaa dataa tarvittaessa, jotta se voi esimerkiksi B. seiso dataobjektin arvo-ominaisuuksien takana ja voi antaa arvot tälle taustalla.
Riskit
Laiska lataus on usein yritys minimoida tietoyhteyksien lukumäärä, mutta useimmiten pääsyn tehokkuuden kustannuksella. Jos tarvitaan suuri määrä arvoja tai alaobjekteja ja haetaan laiskan kuormituksen avulla, esimerkiksi käymällä ohjelmassa objektipuun läpi ja alustamalla arvot ja objektit tällä tavalla, on olemassa suuri määrä yksittäisiä kyselyitä. Monet tietolähteet, kuten tietokannat, on suunniteltu käsittelemään paljon tietoa mahdollisimman pienellä kyselyllä ja palauttamaan täydelliset tulokset. Jos luetaan suuri määrä tietueita suurella määrällä yksittäisiä kyselyjä muutaman kuvailevan kyselyn sijaan, tämä on usein huomattava taakka tietolähteille ja verkkorakenteelle. Tietokantakontekstissa käytetään siksi myös SELECT N + 1 -ongelmaa: yhdellä (1) kyselyllä N-objektia ladataan aluksi; sitten kutakin näistä objekteista eli N kertaa kutsutaan yksittäisiä kyselyjä riippuvaisille arvoille ja objekteille.
Katso myös
Yksittäiset todisteet
- ^ Martin Fowler, Patterns of Enterprise Application Architecture , Addison-Wesley, 2003, s. 200-214, ISBN 0-321-12742-0 .