Features
- Member injection: Injection of dependencies in class members of any visibility (public, private, etc.)
- Constructor injection: Automatic injection of dependencies in class constructors on creation.
- Value injection: Value-types such as primitives or structs can be injected using custom value injectors.
- Type qualifiers: Inject concrete types into members defined only by abstract types.
- Application contexts: Control the creation of dependencies manually through factory methods.
- Multi-threadable: Dependency containers return the same dependencies across all threads.
- Minimal set-up: Creation and injection of conventional classes requires almost no manual dependency configuration.
- Well-tested: Developed test-driven, a great number of scenarios are tested as part of the test suite.
See the TUTORIAL.md and examples for a complete walkthrough of all features.
Getting started
DUB Dependency
See the Poodinis [DUB project page] for instructions on how to include Poodinis into your project.
Documentation
You can find the public API documentation here.
Alternatively you can generate documentation from the source code using DUB:
dub build --build=ddox
The documentation can then be found in docs/
History
For a full overview of changes, see CHANGES.md
Value Injectors
Poodinis doesn’t come with implementations of value injectors. Value injectors are available in separate projects:
Have you made any or do you know of any? Please add them to this section via a pull request or open an issue.
Projects Using Poodinis
- Hunt Framework: A Web framework for D Programming Language. Full-stack high-performance.
- Eloquent: A lightweight web application written in D
- ioc: Slow approach to Inversion of Control in D2 language
Future Work
- Component scan (auto-registration)
- Phobos collections autowiring
- Named qualifiers