1

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

依赖图

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

谢谢

4

2 回答 2

0

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

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

希望这可以帮助。

于 2013-07-20T14:32:27.043 回答
0

使用抽象工厂解决运行时依赖关系是一个众所周知的解决方案

根据具体情况,元数据角色提示角色接口角色提示部分类型名称角色提示(我最喜欢的)可能更优雅。解决方案。

于 2015-08-24T08:23:03.627 回答