【问题标题】:multiple composition roots in an application应用程序中的多个组合根
【发布时间】:2015-08-24 16:23:03
【问题描述】:

我有一种情况,在运行时我需要通过工厂实例化对象 a 的三个或更多实例。我正在粘贴一张快照,它可以更好地描述它。

有更好的方法吗? 我是否正确地进行了依赖注入

谢谢

【问题讨论】:

    标签: unit-testing architecture dependency-injection software-design


    【解决方案1】:

    在没有看到任何代码的情况下很难说你是否正确地进行了依赖注入,但是看起来你的设计肯定会支持依赖注入(任何类/对象层次结构都应该如此)。

    为了实现这个设计,我肯定会考虑将对象创建工厂注入到类 1 的实例中。这意味着您可以通过传入一个模拟工厂来测试类 1 的逻辑,与工厂逻辑隔离开来您围绕类 1 进行单元测试,并断言类 1 在这些测试中调用您工厂的正确方法。您的设计表明工厂被传递到第 1 类,因此看来您确实在做正确的事情。当然,工厂周围应该有一组单独的单元测试来测试它是否正确实例化对象 a1、a2 和 a3。

    希望这会有所帮助。

    【讨论】:

      【解决方案2】:

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2013-09-02
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-12-28
        • 1970-01-01
        • 2015-01-26
        相关资源
        最近更新 更多