Kodein is a very useful dependency injection / retrieval container, it is very easy to use and configure.
-
Lazily instantiate your dependencies when needed.
-
Stop caring about dependency initialization order.
-
Easily bind classes or interfaces to their instance, provider or factory.
-
Easily debug your dependency bindings and recursions.
-
It is small, fast and optimized (makes extensive use of
inline
). -
It proposes a very simple and readable declarative DSL.
-
It is not subject to type erasure (like Java).
-
It integrates nicely with Android.
-
It proposes a very kotlin-esque idiomatic API.
-
It can be used in plain Java.
Support
-
Drop by the Kodein Slack channel
-
Stackoverflow with the tag #kodein
Contribute
Contributions are very welcome and greatly appreciated! The great majority of pull requests are eventually merged.
To contribute, simply fork the project on GitHub, fix whatever is itching you, and submit a pull request!
I am sure that this documentation contains typos, inaccuracies and languages error (English is not my mother tongue). If you feel like enhancing this document, you can propose a pull request that modifies the documentation documents. (Documentation is auto-generated from those).