Lazy initialization: differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
+F |
m →La lazy factory: Aggiunto il tasto "Copia" nel blocco di codice |
||
(9 versioni intermedie di 8 utenti non mostrate) | |||
Riga 1:
{{F|
Nella [[programmazione (informatica)|programmazione]] software, si dice '''
Tipicamente, questo si ottiene memorizzando in un ''[[flag]]'' l'avvenimento di un determinato processo
== La
Dal punto di vista dei [[design pattern]], la ''lazy initialization'' si usa spesso con un ''[[factory method]]''. Questo combina tre idee:
* usare un ''factory method'' per instanziare una classe;
* memorizzare l'istanza di una mappa, in modo tale da poter riprendere la
* usare la ''lazy initialization'' per istanziare un oggetto la prima volta che è richiesto.
Un piccolo esempio (in [[Java (linguaggio di programmazione)|Java]]): la classe <code>Frutta</code> viene impiegata a soli fini esemplificativi per mostrare questo ''pattern'' di inizializzazione.
<syntaxhighlight lang="java" line="1" copy=1>import java.util.*;
public class Frutta {
Riga 19 ⟶ 18:
* Mappatura tra tipo di frutta (String) e la sua istanza (Frutta)
*/
private static Map<String, Frutta> tipologie = new HashMap<String, Frutta>();
/**
Riga 50 ⟶ 49:
return f;
}
}</syntaxhighlight>
La tecnica può essere usata anche in un linguaggio non
== Voci correlate ==
Riga 59 ⟶ 57:
* [[anti-pattern]]
* [[Design Patterns]] - libro
* [[Singleton (informatica)]] - per un elegante esempio di impiego della ''lazy initialization''
{{portale|informatica}}
[[Categoria:Pattern]]▼
|