Codebeispiel: Erstellen eines Singletons mit der RuntimeStore-API

Im folgenden Beispiel wird ein Singleton mit dem Runtime-Speicher erstellt. In diesem Beispiel wird die statische variable _instance für jeden auf dem System ausgeführten Prozess mit null initialisiert. Damit muss getInstance() die _instance bei jedem Aufruf prüfen.

Aus Gründen der Einfachheit wird in diesem Beispiel nicht erläutert, wie Sie die eindeutige ID erstellen.

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;
   }
}

Waren diese Informationen hilfreich? Senden Sie uns Ihren Kommentar.