Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
Cake-паттерн заставляет плодить слишком много лишних сущностей (трейтов) для каждого компонента
Имплиситы — сами по себе не делают DI, поскольку остается важным порядок их объявления.
Не понял мысль? Какой такой порядок?
case class A(v: Int)
case class B(implicit a: A)
case class C(implicit b: B)
implicit val a = A(10)
implicit val b = B()
val c = C()
implicit val b = B()
implicit val a = A(10)
val c = C()
Зачем для каждого? Можно для групп компонентов: Thin cake pattern. Или все зависимости объединить в один «контекст»
Dependency Injection с проверкой корректности на Scala средствами языка