我相信这是一个经典而且应该有一个设计模式,但除了依赖模式和demeter定律之外,我无法真正看到大局:
为了获得一个好的可测试和灵活的应用程序,我想:
约束:
(不工作)示例:
// Main entrypoint
public App(Config config) {
Dep1 dep1 = new Dep1(config.getDep1Conf());
Dep2 dep2 = new Dep2(config.getDep2Conf());
Dep3 dep3 = new Dep3(config.getDep3Conf());
Dep4 dep4 = new Dep4(config.getDep4Conf());
:
this(dep1, dep2, dep3, dep4);
}
// Entry point for easy testing
public App(Dep1 dep1, Dep2 dep2, Dep3 dep3, Dep4 dep4) {
this.dep5 = Dep1.newInstance(Dep2);
this.dep3 = dep3;
this.dep4 = dep4;
:
}
我的问题:模板的外观如何?