Lusta inicializálás
Az oldal jelenlegi verzióját még nem ellenőrizték tapasztalt hozzászólók, és jelentősen eltérhet a 2018. november 1-jén felülvizsgált
verziótól ; az ellenőrzések 4 szerkesztést igényelnek .
A lusta inicializálás olyan programozási technika , amikor valamilyen erőforrás-igényes műveletet (objektum létrehozása, értékszámítás) közvetlenül az eredmény felhasználása előtt hajtanak végre. Így az inicializálás "igény szerint" történik, nem pedig idő előtt. Egy hasonló ötlet a legkülönfélébb területeken alkalmazható: például az on-the-fly összeállításban és a just -in-time logisztikai koncepcióban .
A lusta inicializálás egy speciális esete – egy objektum létrehozása a hozzáféréskor – az egyik generatív tervezési minta . Általában olyan mintákkal együtt használatos, mint a Factory Method , Loner és Proxy .
Előnyök
- Az inicializálás csak akkor történik meg, ha valóban szükség van rá;
- Gyorsítsa fel az inicializálást.
Hátrányok
- Az objektumok inicializálásának sorrendjét nem lehet kifejezetten beállítani;
- Késés van az objektum első elérésekor, ami kritikus lehet, ha párhuzamosan egy másik erőforrás-igényes műveletet hajtanak végre. Ennek eredményeként alaposan meg kell fontolni a „lusta” inicializálás megfelelő használatát a többszálú szoftverrendszerekben, különösen az operációs rendszerben .
Megvalósítás
Ez a sablon többféleképpen is megvalósítható:
- Lusta inicializálás – Inicializálás igény szerint. Ez a legegyszerűbb módja - végrehajtani a nulla mező ellenőrzését, és ha szükséges, kitölteni adatokkal.
- Virtuális proxy – Virtuális proxy objektum. A módszert némileg bonyolítja az objektum azonosítás problémája, hiszen helyettük inicializálás előtt helyettesítők lépnek fel.
- Ghost - Dummy tárgy, szellem. Ez egy valós objektum hiányos állapotú.
- Értéktartó – Az értékkezelő. Az objektum valamilyen érték burkolója. Szintén nem a legjobb megoldás a gépelési problémák miatt.
Linkek
Orosz nyelvű oldalak
Lásd még