design-patterns

Quick-reference guide to software design patterns with concise Dart examples.

View project on GitHub

Ensures a class has only one instance and provides a global point of access to it.

Use sparingly — it’s essentially a global variable.

class AppConfig {
  static final AppConfig _instance = AppConfig._();
  factory AppConfig() => _instance;
  AppConfig._();

  String apiUrl = 'https://api.example.com';
}

// Usage
final config = AppConfig(); // always returns the same instance
print(config.apiUrl);