Dependency injection (DI)? Can there even be anything really new about this age-old topic?
You might have used one of the many approaches to DI that have been developed over time, including singleton-pattern DI, macro-based DI, reflection-based DI or simply passing constructor- or method-parameters.
But have you ever been exposed to dependency injection through the type-inference of your (hopefully statically typed) programming language?
If not, then in this talk I will take you into the world of a surprisingly different DI technique - one that is language-agnostic in principle, but has become possible and practical through ZIO and Scala's powerful type-system. Together we will see how the unique advantages and compromises of this technique compare against common/classical DI approaches.