force_inject 0.4.0 copy "force_inject: ^0.4.0" to clipboard
force_inject: ^0.4.0 copied to clipboard

A zero-dependency DI container for Dart, inspired by .NET Core. This is the Way.

example/README.md

๐Ÿงช force_inject Example #

This is a minimal Dart console example showing how to use the force_inject dependency injection container in pure Dart.

๐Ÿ“‚ Full Example on GitHub #

๐Ÿ‘‰ https://github.com/diegomgarcia/force_inject/tree/main/example/minimal_dart_di

๐Ÿ‘‰ https://github.com/diegomgarcia/force_inject/tree/main/example/minimal_flutter_di

๐Ÿš€ To run it: #

cd example/minimal_dart_di
dart run

โœ… What It Demonstrates #

  • Registering services using ServiceCollection
  • Constructor injection using registerConstructor
  • Resolving services using ServiceProvider.get<T>()
  • Working with singleton, transient and scoped lifetimes

โœจ Sample Code #

final services = ServiceCollection();

services.addSingleton<ILogger, ConsoleLogger>();
services.addTransient<UserService, UserService>();

ServiceProvider.registerConstructor<ConsoleLogger>(() => ConsoleLogger(), []);
ServiceProvider.registerConstructor<UserService>(
  (ILogger logger) => UserService(logger),
  [ILogger],
);

final provider = services.buildServiceProvider();
final userService = provider.get<UserService>();
userService.sayHello();

Built with โค๏ธ by @diegomgarcia

1
likes
140
points
35
downloads

Publisher

verified publisherdiegogarcia.ca

Weekly Downloads

A zero-dependency DI container for Dart, inspired by .NET Core. This is the Way.

Repository (GitHub)
View/report issues

Documentation

API reference

License

MIT (license)

Dependencies

meta

More

Packages that depend on force_inject