Last active
September 2, 2022 01:40
-
-
Save theburningmonk/6401183 to your computer and use it in GitHub Desktop.
Using Dart's factory constructor feature to implement the singleton pattern
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
class MyClass { | |
static final MyClass _singleton = new MyClass._internal(); | |
factory MyClass() { | |
return _singleton; | |
} | |
MyClass._internal() { | |
... // initialization logic here | |
} | |
... // rest of the class | |
} | |
// consuming code | |
MyClass myObj = new MyClass(); // get back the singleton | |
... | |
// another piece of consuming code | |
MyClass myObj = new MyClass(); // still getting back the singleton |
Singleton design pattern is intended to create one and only one (single) instance of a class.
If you wanted a single instance with a parameter, how would you do that?
Do you see any issue in this code?
This is not a singleton implementation.
See this for reference: Dart Null-Safty Singleton with parameters
Can MyClass extend an abstract class with non-null constructor? If so how?
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
If you wanted a single instance with a parameter, how would you do that?
Do you see any issue in this code?