Esempio di codice: creazione di un singleton utilizzando l'API RuntimeStore

Il seguente esempio crea un singleton utilizzando l'archivio di runtime. In questo esempio, l'oggetto variable _instance statico viene inizializzato sul valore null per ogni processo in esecuzione sul sistema. In questo modo, getInstance() deve controllare la variabile _instance ogni volta che viene richiamata.

Per semplicità, questo esempio non mostra come creare l'ID univoco.

import net.rim.device.api.system.*;
class MySingleton {
   private static MySingleton _instance;
   private static final long GUID = 0xab4dd61c5d004c18L;
   // constructor
   MySingleton() {}
   public static MySingleton getInstance() {
      if (_instance == null) {
         _instance = (MySingleton)RuntimeStore.getRuntimeStore().get(GUID);
      if (_instance == null) {
         MySingleton singleton = new MySingleton();
         RuntimeStore.getRuntimeStore().put(GUID, singleton);
         _instance = singleton;
         }
      }
      return _instance;
   }
}

Le informazioni sono state utili? Inviateci i vostri commenti.