Como evitar a injeção de dependência no Scala?
Eu leioInjeção de Dependência Sem a Ginástica PDF o que indica que não há necessidade de qualquer estrutura sofisticada de DI, mas está além do meu alcance (pelo menos sem exemplos concretos). Vou tentar assistirInjeção de Dependência Sem a Ginástica eInjeção de Dependência Simples Inoperante quando eu tiver uma chance
Usando o Guice em Java, se A depende tanto de B quanto de C e ambos B e C dependem de D, seria algo como:
public class A {
@Inject
public A(B b, C c) {
this.b = b;
this.c = c;
}
}
public class B {
@Inject
public B(D d) {
this.d = d;
}
}
public class C {
@Inject
public C(D d) {
this.d = d;
}
}
public class D { /* ... */ }
e um módulo que diz qual implementação de D usar, então seria necessário pedir uma instância de A do injetor:
A a = injector.createInstance(A.class);
Dado o que é apresentado nas URLs acima, como seria o Scala-equivalente do código acima?
FWIW, também estou investigandohttps://github.com/dickwall/subcut/blob/master/GettingStarted.md e estou simplesmente tentando entender a solução anti-DI.