Pavel Shirshov & Michael Feldman — distage: Modern Dependency Injection for Scala (45 minutes)

Many Scala developers nowadays consider using Dependency Injection frameworks an anti-pattern incompatible with modern FP settings.
We argue that it’s just a consequence of a bad experience with legacy Java runtime reflection-based implementations that lack features important for modern functional programming, such as a first-class support for higher-kinded types.
We argue that as a paradigm for structuring purely functional programs, DI with automatic wiring compares favorably against implicits, monad transformers, free monads, algebraic effects, cake pattern et al, enabling scaling and a degree of modularity unachievable by any manual wiring approach.
This talk covers DIStage – a transparent, flexible and efficient DI framework for Scala that enables late binding, testability, effect separation and modular resource management at scale, working with, instead of compromising the Scala type system.



Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *