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