Lat initiering
Den aktuella versionen av sidan har ännu inte granskats av erfarna bidragsgivare och kan skilja sig väsentligt från
versionen som granskades den 1 november 2018; kontroller kräver
4 redigeringar .
Lat initialisering är en programmeringsteknik när någon resurskrävande operation (objektskapande, värdeberäkning) utförs omedelbart innan dess resultat används. Initiering görs alltså "på begäran" snarare än i förväg. En liknande idé kan användas inom en mängd olika områden: till exempel kompilering under flygning och just -in- time logistikkonceptet .
Ett specialfall av lat initialisering - att skapa ett objekt vid tidpunkten för åtkomst till det - är ett av de generativa designmönstren . Den används vanligtvis i kombination med mönster som Factory Method , Loner och Proxy .
Fördelar
- Initialisering utförs endast när det verkligen behövs;
- Snabba upp initieringen.
Nackdelar
- Det är inte möjligt att uttryckligen ställa in i vilken ordning objekt initieras;
- Det finns en fördröjning vid den första åtkomsten till objektet, vilket kan vara kritiskt när ytterligare en resurskrävande operation utförs parallellt. Som ett resultat är det nödvändigt att noggrant överväga lämpligheten av att använda "lat" initiering i flertrådade programvarusystem, särskilt OS .
Implementering
Denna mall kan implementeras på flera olika sätt:
- Lazy Initialization - Initiering på begäran. Detta är det enklaste sättet - att implementera en fältkontroll för null och, om nödvändigt, fylla den med data.
- Virtuell proxy - Virtuell proxyobjekt. Metoden är något komplicerad av problemet med objektidentifiering, eftersom istället för dem, före initiering, agerar substitut.
- Ghost - Dummy objekt, Ghost. Detta är ett verkligt objekt med ofullständigt tillstånd.
- Värdeinnehavare - Värdeförvaltaren. Ett föremål är ett omslag för något värde. Inte heller det bästa alternativet på grund av skrivproblem.
Länkar
ryskspråkiga webbplatser
Se även