Singleton

Autore: Monica Porter
Data Della Creazione: 15 Marzo 2021
Data Di Aggiornamento: 1 Luglio 2024
Anonim
SINGLETON - ROGBODO ( Clip officiel 2021 )
Video: SINGLETON - ROGBODO ( Clip officiel 2021 )

Contenuto

Definizione - Cosa significa Singleton?

Un singleton è una classe che consente di creare solo una singola istanza di se stesso e dà accesso all'istanza creata. Contiene variabili statiche che possono ospitare istanze uniche e private di se stesso. Viene utilizzato negli scenari in cui un utente desidera limitare l'istanza di una classe a un solo oggetto. Ciò è utile in genere quando è richiesto un singolo oggetto per coordinare le azioni attraverso un sistema.

Il modello singleton viene utilizzato in linguaggi di programmazione come Java e .NET per definire una variabile globale. Un singolo oggetto utilizzato tra i sistemi rimane costante e deve essere definito solo una volta anziché molte volte.


Un'introduzione a Microsoft Azure e Microsoft Cloud | In questa guida imparerai cos'è il cloud computing e in che modo Microsoft Azure può aiutarti a migrare e gestire la tua azienda dal cloud.

Techopedia spiega Singleton

Un singleton ha lo scopo di fornire solo un'istanza di se stesso facilitando un punto di accesso globale. L'implementazione di un modello singleton implica la creazione di una classe con un metodo che crea una nuova istanza della classe. Al fine di implementare un modello singleton, devono essere soddisfatti i principi della singola istanza e dell'accesso globale. La classe singleton è come un repository globale per un'istanza di se stessa, rendendo il costruttore privato. Pertanto, un'istanza esterna alla classe non può essere creata affatto e un singleton può contenere solo un'istanza. Una classe singleton crea un'istanza e mantiene tale istanza tra i sistemi.

I modelli astratti di fabbrica, costruttore e prototipo possono usare singleton. Gli oggetti di facciata e gli oggetti statici sono spesso singoli. L'implementazione di Singleton richiede un meccanismo attraverso il quale è possibile accedere a un membro della classe senza dover creare un oggetto di classe e mantenere il valore dei membri della classe tra gli oggetti di classe. I passaggi coinvolti nella creazione di un singleton sono i seguenti:


  1. Il costruttore è reso privato. Ciò consente solo alla classe di avere accesso al singleton.

  2. Esempio:
    testdata di classe
    {
    Testdata privato ()
    {
    // ... no-op per un singleton

  3. Una singola istanza interna della classe viene creata utilizzando un metodo. Il metodo è chiamato un'istanza in questo esempio. Il metodo "istanza" viene utilizzato per inizializzare la classe per accedere a una singola istanza. Il metodo di istanza è contrassegnato come statico in questo esempio per fornire a tutti i thread un accesso coerente. Al di fuori della creazione dell'istanza, l'istruzione "lock" viene utilizzata per controllare l'accesso multithread. Ciò blocca la creazione dell'istanza su un singolo thread.

    Esempio:

    // Creazione pigra dell'istanza interna singleton
    Istanza testdata pubblica statica
    {
    Ottenere
    {
    Blocco (tipo di (testdata))
    {
    If (_instance == null)
    _instance = testdata ();
    }
    Return _instance;
    }
    }