Home Articoli Ingegneria del software Design Pattern - Singleton

Page Rank Check    





Design Pattern - Singleton
Articoli - Ingegneria del software
Scritto da RedBaron85   
Sabato 30 Gennaio 2010 15:07

Design Pattern - Singleton

Il Design Pattern Singleton è un Design Pattern creazionale così descritto:

  • INTENTO

Far sì che una classe abbia una sola istanza in esecuzione per volta (es.: spooler di stampa).

 

  • MOTIVAZIONE

A volte è necessario avere una sola istanza in esecuzione per una classe (es.: spooler di stampa), ma una variabile globale non risolve il problema (non può impedire "a monte" l'istanziazione di nuovi oggetti).

E' necessario, inoltre, tenere traccia del riferimento alla classe istanziata (entry-point).

 

  • SOLUZIONE

Singleton introduce un metodo statico che consente di istanziare un oggetto o, se tale oggetto è stato istanziato precedentemente, di ritornare il riferimento a tale istanza, senza crearne di nuove.

Il metodo di creazione dell'istanza si trova in Singleton ed è privato, per cui non può essere richiamato dall'esterno (in questo modo si evita che altri, "da fuori", possano creare nuove istanze).

 

  • CONSEGUENZE

Codice "pulito" (assenza di variabili globali), vi è una sola istanza sempre tracciabile (a meno che non si decida di impostare un numero massimo di istanze, modificando leggermente il codice del Singleton, per cui la soluzione è anche abbastanza flessibile).

Tags:     ingegneria del software      design patern      singleton
Ultimo aggiornamento Domenica 22 Gennaio 2012 15:26
 

Ti è piaciuto questo articolo ? Condividilo !



RedBaron85.com Forum community banner

Non hai trovato quello che cercavi ?
Ricerca personalizzata
Copyright © 2012 RedBaron85.com: Informatica, CG 2D e 3D, Blender, Python, Java 2D e 3D, 3D Studio e altro ancora!. Tutti i diritti riservati.
Joomla! è un software libero rilasciato sotto licenza GNU/GPL.

Milanese Francesco - Partita IVA: 04950350878

AltroArticoliblog utentiBlueprintsContestenglishProgrammazioneModelliElencoNewsTexturesTutorialsVideotutorials