Wie vermeide ich die Abhängigkeitsinjektion in Scala?

ich leseAbhängigkeitsinjektion ohne Gymnastik PDF Das bedeutet, dass kein ausgefallenes DI-Framework erforderlich ist, aber ich kann es nicht fassen (zumindest ohne konkrete Beispiele). Ich werde es versuchenAbhängigkeitsinjektion ohne Gymnastik undDead Simple Dependency Injection wenn ich eine Chance habe.

Wenn Guice in Java verwendet wird und A sowohl von B als auch von C abhängt und B und C von D abhängen, hat man ungefähr Folgendes:

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 { /* ... */ }

und ein Modul, das besagt, welche Implementierung von D verwendet werden soll, dann würde man nur nach einer Instanz von A vom Injektor fragen:

A a = injector.createInstance(A.class);

Wie würde das Scala-Äquivalent des obigen Codes in Anbetracht dessen aussehen, was in den obigen URLs dargestellt ist?

FWIW, ich recherchiere auchhttps://github.com/dickwall/subcut/blob/master/GettingStarted.md und versuche einfach, die Anti-DI-Lösung zu verstehen.

Antworten auf die Frage(4)

Ihre Antwort auf die Frage