dain 0.1.2
dain: ^0.1.2 copied to clipboard

A dynamic dependency injection framework for Dart developers.

[EAP] Dain #

pub package license

A dynamic dependency injection framework for Dart developers.
The library is created inspired by "Koin". (Not all features are yet covered.)

Basic Usage #

1. Create interface & implementation class. #

Let's create interface class.

abstract class ExampleService {
  void sayHello();
}

Next, create implementation class.
At this time, implementation class should extend interfaces.

class ExampleServiceImpl extends ExampleService {
  @override
  void sayHello() {
    print("Hello World!");
  }
}

2. Create module class & declaring dependencies. #

class ExampleModule extends Module {
  @override
  List<Bean> register() {
    return [
      single<ExampleService>(() => ExampleServiceImpl()),
    ];
  }
}

3. Register modules & inject class. #

void main() {
  Dain.start([
    ExampleModule(),
  ]);

  final exampleModel = Dain.inject<ExampleService>();
  exampleModel.sayHello(); // print "Hello World!"
}

Advanced #

[WIP]

0
likes
110
pub points
48%
popularity

Publisher

kazakago.com

A dynamic dependency injection framework for Dart developers.

Repository (GitHub)
View/report issues

Documentation

API reference

License

Apache-2.0 (LICENSE)

More

Packages that depend on dain