Dipstick takes a totally different approach, which leverages the type system and code generation.
- Simple. There are only two concepts to learn about: Modules and Bindings. - Obvious. Want to see where a class is instantiated? Let your IDEs tools do the work. No tricky reflection or abstraction here -- just readable, generated code. - Modular. Define multiple modules and compose them together to keep code organized.
The framework is still really young, and currently only supports classes (boo), but if it gets some traction, I will update it to support injecting functions or other literal values.
I'd really love some feedback to make this thing better!