如何在施工期间处理依赖关系

时间:2014-02-28 12:40:46

标签: java

我相信这是一个经典而且应该有一个设计模式,但除了依赖模式和demeter定律之外,我无法真正看到大局:

为了获得一个好的可测试和灵活的应用程序,我想:

  1. 在施工期间只需输入一次我的申请表。
  2. 将配置加载/解析一次并移交给此入口点。
  3. 让此入口点实例化并配置所有依赖项,然后将其编排到架构中。
  4. 然后让一切都进入运行时。
  5. 约束:

    • 尽可能使用一些Singleton,最好不要。
    • 只有入口点知道配置,因此很容易测试依赖性
    • 一切(所有依赖项)应该很容易测试。
    • 尽可能少的暴露方法仅用于测试。

    (不工作)示例:

    // 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;
        :
    }
    

    我的问题:模板的外观如何?

0 个答案:

没有答案