//в однопоточном приложении будет единственный экземпляр некоторого класса, //и предоставляющий глобальную точку доступа к этому экземпляру. class Me { static final Me _singleton = new Me._internal(); static final String _name = "Андрей"; factory Me() { return _singleton; } static String get name => _name; @override String toString() => "Привет, меня зовут $name."; Me._internal(); } void main() { var tyler = Me(); var anotherTyler = Me(); print(tyler); print(anotherTyler); var samenessCheck = identical(tyler, anotherTyler) ? "Мы один и тот же ${Me.name}." : "Мы даже не похожи."; print(samenessCheck); /* Привет, меня зовут Андрей. Привет, меня зовут Андрей. Мы один и тот же Андрей. */ }