Dependency Injection vs Static dependencies
Main {
DependencyNumberOne dependencyNumberOne = new DependencyNumberOne();
DependencyNumberTwo dependencyNumberTwo = new DependencyNumberTwo();
DependencyNumberThree dependencyNumberThree = new DependencyNumberThree();
ControllerOne controllerOne = new ControllerOne(dependencyNumberOne, dependencyNumberTwo, dependencyNumberThree);
ControllerTwo controllerTwo = new ControllerTwo(dependencyNumberOne, dependencyNumberTwo, dependencyNumberThree);
ControllerThree controllerThree = new ControllerThree(dependencyNumberOne, dependencyNumberTwo, dependencyNumberThree);
get("/routeOne", controllerOne)
get("/routeTwo", controllerTwo)
get("/routeThree", controllerThree)
}
class ControllerOne extends Controller {
public ControllerOne(DependencyNumberOne dependencyNumberOne, DependencyNumberTwo dependencyNumberTwo, DependencyNumberThree dependencyNumberThree) {
super(dependencyNumberOne, dependencyNumberTwo, dependencyNumberThree)
}
public Object handle() {
this.dependencyNumberOne.something();
this.dependencyNumberTwo.something();
}
}
class ControllerTwo extends Controller {
public ControllerTwo(DependencyNumberOne dependencyNumberOne, DependencyNumberTwo dependencyNumberTwo, DependencyNumberThree dependencyNumberThree) {
super(dependencyNumberOne, dependencyNumberTwo, dependencyNumberThree)
}
public Object handle() {
this.dependencyNumberOne.something();
}
}
class ControllerThree extends Controller {
public ControllerThree(DependencyNumberOne dependencyNumberOne, DependencyNumberTwo dependencyNumberTwo, DependencyNumberThree dependencyNumberThree) {
super(dependencyNumberOne, dependencyNumberTwo, dependencyNumberThree)
}
public Object handle() {
this.dependencyNumberOne.something();
}
}INFO