Échantillon de code : création d'un singleton à l'aide de l'API RuntimeStore

L'exemple suivant crée un singleton à l'aide de la base de stockage d'exécution. Dans cet exemple, la variable statique variable _instance est initialisée sur null pour chaque processus s'exécutant sur le système ; getInstance() doit donc vérifier la variable _instance chaque fois qu'elle est appelée.

Pour plus de clarté, cet exemple n'illustre pas la méthode de création de l'ID unique.

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

Ces informations vous ont-elles été utiles ? Envoyez-nous vos commentaires.