Das Singleton-Muster stellt sicher, dass immer nur eine Instanz einer Klasse erstellt wird. Wie baue ich das in Dart?
Antworten
Zu viele Anzeigen?
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();
Salvatore Gerace
Punkte
9
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.
- See previous answers
- Weitere Antworten anzeigen