A service registry for doing IoC on Dart.
Basically because I did not know how to properly handle singletons in a flutter application, so I did this for a project and felt that I could share.
import 'package:service_registry/service_registry.dart'; class CounterService { int count = 0; increment() { count++; } decrement() { count--; } } void main() { ServiceRegistry.registerService<CounterService>(new CounterService()); var counterService = ServiceRegistry.getService<CounterService>(); counterService.increment(); counterService.increment(); print(ServiceRegistry.getService<CounterService>().count); // 2 counterService.decrement(); // Actually you don't need to add the <CounterService> part, but it's handy for tools to know the type and provide code completion print(ServiceRegistry.getService<CounterService>().count); // 1 }
- [] add coverage reporting
- [] check service type with the given register type