// https://gist.github.com/theburningmonk/6401183#gistcomment-2903680
class MyClass {
num instanceVar;
static num start;
static final MyClass _singleton = new MyClass._internal();
factory MyClass(num startparam) {
start = startparam;
return _singleton;
}
MyClass._internal() {
if (instanceVar == null) {
instanceVar = start;
} else {
instanceVar++;
}
}
// rest of the class
}
main() {
// consuming code
MyClass myObj1 = MyClass(1); // get back the singleton
print('myObj1=${myObj1.instanceVar}');
// another piece of consuming code
MyClass myObj2 = MyClass(2); // still getting back the singleton
print('myObj2=${myObj2.instanceVar}');
}
[Dart] The factory constructor implements the singleton pattern and passes parameters
Guess you like
Origin www.cnblogs.com/teemwu/p/12716171.html
Recommended
Ranking