504 Stimmen

Wie baut man ein Singleton in Dart?

Das Singleton-Muster stellt sicher, dass immer nur eine Instanz einer Klasse erstellt wird. Wie baue ich das in Dart?

1voto

George Yacoub Punkte 1381

Ich verwende dieses einfache Muster auf Dart und zuvor auf Swift. Mir gefällt, dass es kurz und bündig ist und es nur eine Möglichkeit gibt, es zu verwenden.

class Singleton {
  static Singleton shared = Singleton._init();
  Singleton._init() {
    // init work here
  }

  void doSomething() {
  }
}

Singleton.shared.doSomething();

-4voto

Sie können einfach die Constant-Konstruktoren verwenden.

class Singleton {
  const Singleton(); //Constant constructor

  void hello() { print('Hello world'); }
}

Ejemplo:

Singleton s = const Singleton();
s.hello(); //Hello world

Entsprechend der Dokumentation:

Konstante Konstrukteure

Wenn Ihre Klasse Objekte erzeugt, die sich nie ändern, können Sie diese Objekte zu Kompilierzeitkonstanten machen. Dazu definieren Sie einen Konst-Konstruktor und stellen sicher, dass alle Instanzvariablen endgültig sind.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X