dinjection

Creator: coderz1093

Last updated:

0 purchases

dinjection Image
dinjection Images

Languages

Categories

Add to Cart

Description:

dinjection

DInjection 🗄️ #

DInjection is a lightweight DI library inspired by .NET Service Collection and Service Provider.
Features #

✅ Global services scope
✅ Singleton & Transient lifetimes
✅ Register base types
✅ Get all types of base
✅ High Performance

Examples #
Basic usage:
//
final services = ServicesCollection() //
.add((_) => ServiceA())
.build();

//
final service = services.getOf<ServiceA>();

//
service.foo();
copied to clipboard
Global services:
//
final services = ServicesCollection() //
.add((_) => ServiceA())
.build()
.setGlobal();

//
functionWithNoParameters();

//
void functionWithNoParameters() {
final service = gServices.getOf<ServiceA>();
service.foo();
}

copied to clipboard
Base type :
//
final services = ServicesCollection() //
.base<BaseServiceA>((base) => base.add((services) => ServiceA()))
.build();

//
final service = services.getOf<BaseServiceA>();

//
service.foo();
copied to clipboard
Get all types of base :
//
final services = ServicesCollection() //
.base<BaseServiceA>((base) => base //
.add((services) => ServiceA())
.add((services) => ServiceB()))
.build();

//
final base = services.getManyOf<BaseServiceA>();

//
for (var b in base) {
b.foo();
}
copied to clipboard
Perfomance #
Here is a perfomance chart of other libraries performing get for transient and singelton.

License

For personal and professional use. You cannot resell or redistribute these repositories in their original state.

Files In This Product:

Customer Reviews

There are no reviews.