Ejemplo de código: crear una instancia única mediante la API RuntimeStore

El ejemplo siguiente crea una instancia única a través del almacén de tiempo de ejecución. En este ejemplo, la variable _instance estática se inicializa en null para cada uno de los procesos que se ejecuta en el sistema, por lo que getInstance() debe comprobar la variable _instance cada vez que se invoca.

Para una mayor facilidad, este ejemplo no muestra cómo crear un ID único.

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 ha resultado útil esta información? Envíenos sus comentarios.