我有一种情况,在运行时我需要通过工厂实例化对象 a 的三个或更多实例。我正在粘贴一个快照,它可以更好地描述它。
有更好的方法吗?我是否正确地进行依赖注入
谢谢
在没有看到任何代码的情况下很难说您是否正确地进行了依赖注入,但是看起来您的设计肯定会支持依赖注入(任何类/对象层次结构都应该如此)。
为了实现这个设计,我肯定会考虑将对象创建工厂注入到类 1 的实例中。这意味着您可以通过传入模拟工厂进行单元测试,从而在与工厂逻辑隔离的情况下测试类 1 的逻辑围绕类 1,并断言类 1 在这些测试中调用工厂的正确方法。您的设计表明工厂被传递到第 1 类,因此看来您确实在做正确的事情。当然,工厂周围应该有一组单独的单元测试来测试它是否正确实例化对象 a1、a2 和 a3。
希望这可以帮助。
根据具体情况,元数据角色提示、角色接口角色提示或部分类型名称角色提示(我最喜欢的)可能更优雅。解决方案。