Readers vs Constructors: Dependency Injection showdown by Adam Warski
This video was recorded at Scala Days Chicago 2017
Follow us on Twitter @ScalaDays or visit our website for more information http://scaladays.org
Abstract:
Like it or not, but how in-code dependencies are managed is one of the key decisions that we have to make when working on a project.
We've seen various approaches to Dependency Injection come and go. In Scala's early days, the Cake Pattern was quite fashionable; but there was just too much boilerplate. Instead, maybe we could just use plain constructors for wiring dependencies (MacWire)? Use a hybrid service locator (SubCut, Scaldi)? Or go fully functional, and use the Reader Monad; but is it really a replacement of Dependency Injection frameworks/libraries? Finally, maybe we should stick with proven Java-land solutions, like Guice (used e.g. by the Play Framework)?
Видео Readers vs Constructors: Dependency Injection showdown by Adam Warski канала Scala Days Conferences
Follow us on Twitter @ScalaDays or visit our website for more information http://scaladays.org
Abstract:
Like it or not, but how in-code dependencies are managed is one of the key decisions that we have to make when working on a project.
We've seen various approaches to Dependency Injection come and go. In Scala's early days, the Cake Pattern was quite fashionable; but there was just too much boilerplate. Instead, maybe we could just use plain constructors for wiring dependencies (MacWire)? Use a hybrid service locator (SubCut, Scaldi)? Or go fully functional, and use the Reader Monad; but is it really a replacement of Dependency Injection frameworks/libraries? Finally, maybe we should stick with proven Java-land solutions, like Guice (used e.g. by the Play Framework)?
Видео Readers vs Constructors: Dependency Injection showdown by Adam Warski канала Scala Days Conferences
Показать
Комментарии отсутствуют
Информация о видео
Другие видео канала
![Dependency Injection & Inversion of Control](https://i.ytimg.com/vi/EPv9-cHEmQw/default.jpg)
![The Practical (and Subtle) Differences Between Traits and Abstract Classes in Scala | Rock the JVM](https://i.ytimg.com/vi/_7ULjOILxhI/default.jpg)
![Why are Type Classes useful in Scala? | Rock the JVM](https://i.ytimg.com/vi/bupBZKJT0EA/default.jpg)
![Mark Seemann — From dependency injection to dependency rejection](https://i.ytimg.com/vi/xG5qP5AWQws/default.jpg)
![The Infinitesimal Monad - Numberphile](https://i.ytimg.com/vi/BBp0bEczCNg/default.jpg)
![Free monad or tagless final? How not to commit to a monad too early - Adam Warski](https://i.ytimg.com/vi/IhVdU4Xiz2U/default.jpg)
![Adam Warski – Your HTTP endpoints are data, as well!](https://i.ytimg.com/vi/yuQNgZgSFIc/default.jpg)
![What is Dependency Injection? | Why | Spring](https://i.ytimg.com/vi/Eqi-hYX50MI/default.jpg)
![Polysemy: Chasing Performance in Free Monads — Sandy Maguire](https://i.ytimg.com/vi/-dHFOjcK6pA/default.jpg)
![Scala Monads: Declutter Your Code With Monadic Design](https://i.ytimg.com/vi/Mw_Jnn_Y5iA/default.jpg)
![The no-framework Scala Dependency Injection Framework](https://i.ytimg.com/vi/JwKSUcXG7nw/default.jpg)
![Dependency Injection](https://i.ytimg.com/vi/IKD2-MAkXyQ/default.jpg)
![API 구현 관점에서 보는 Dependency Injection/Inversion](https://i.ytimg.com/vi/0eVeSlml9xA/default.jpg)
![Contravariance in Scala: Why Is It So Hard? | Rock the JVM](https://i.ytimg.com/vi/b1ftkK1zhxI/default.jpg)
![Dependency Injection, Unit Testing, C# vs F# | Mark Seemann at NDC Sydney 2018](https://i.ytimg.com/vi/zafEbCh45CQ/default.jpg)
![Programming: When EXACTLY to use an Abstract Class? Java & Kotlin Interfaces vs Abstract Classes](https://i.ytimg.com/vi/AkzjZc4JOM4/default.jpg)
![How to set up a quality gate rule for Diff Coverage [Tutorial]](https://i.ytimg.com/vi/Q3Xkc6zgMqs/default.jpg)
![Scala best practices I wish someone'd told me about - Nicolas Rinaudo](https://i.ytimg.com/vi/DGa58FfiMqc/default.jpg)
![Approaches to Dependency Injection in Scala | Dave Gurnell](https://i.ytimg.com/vi/_eTv39ZIP3w/default.jpg)
![Let’s Code Real World App Using Purely Functional Techniques (in Scala)](https://i.ytimg.com/vi/m40YOZr1nxQ/default.jpg)