1
2
这取决于 什么 你在测试。依赖注入解决了测试类的问题,而不必担心它对外部服务的依赖性(这些服务可能会失败,没有测试数据,或者不适合单元测试)。 你不会为了测试你的类是否正确地构造了一个值对象(或者一个字符串、int等等)并调用了difference操作符而模拟它……这都是实现的一部分,与测试它无关。
但是,你要测试
然后你会意识到你的硬编码
让你的类实例化
|
2
1
依赖注入确实解决了很多问题。然而,许多人没有看到它是一个集合而不是一个组合。在您实例化 其他类 你有一篇作文。因此,通过引入依赖注入,您实际上打破了demeter的组合和定律,引入了聚合。 我认为依赖注入非常好,只要它不破坏体系结构。很多人说在构造函数中使用新运算符是不好的,应该将实例传递给构造函数,但是他们错了。它应该取决于域。有时甚至会导致混淆,特别是在没有垃圾收集的语言中。例如,C++中的经验法则是,创建者销毁一个对象。所以,如果有电池的手机被毁了,谁来销毁电池呢?是手机还是什么东西把它传给了手机?但在某些情况下,你会想把电池输入手机。例如,如果正在为工厂建模。 所以,回答你的问题“没有依赖注入的对象组合是件坏事吗?”-这取决于你正在建模的领域,牺牲设计而不是可测试性在我看来是件坏事。如果你发现一些不稳定的东西,那么看看你的设计是否正确。我通常会看到是否可以引入依赖注入。如果这是不可能的,那么我看看我是否可以介绍工厂的方法。如果没有,我会看看我能不能做点别的。 |
3
0
在这些情况下,没有一个明确的规则可以遵循。依赖注入通常是件好事,但并不总是必要的。它是关于分析你的类,找出谁应该真正有责任创建依赖关系。 如果您使用的是非常简单的对象,从语义上来说,这些对象属于您的类,并且您的类完全负责这些对象,那么依赖项注入可能过于工程化。你真的不需要测试日期时间,所以我不必费心注入那个特定的依赖项。 另一件要考虑的事情是,在构造函数中构建依赖关系是否会使类不稳定。例如,在使用随机数生成器的类中会发生这种情况。在这种情况下,如果不使用依赖注入,就没有办法注入一个生成器,它将为您提供一组适合测试的可预测数字。 所以,简短的回答是:这通常是件好事,但绝不总是必要的。 |
4
0
对于这样的事情没有硬性规定。一些纯粹主义者会说你应该注入依赖性,而其他人则会选择更务实的方法。由于vo本身没有任何依赖关系,我可能会调用kiss原则,并说在对象中“新建”它是完全可以的。尤其是vo驻留在同一个模块中(用ddd术语来说),而且,在对象中实例化vo并不会降低它的可测试性。 |
Schadre · C-plus编码错误 2 年前 |
Nithin K · 即使类属性的类型正确,也会获取异常 2 年前 |
amirreza870 · Python OOP-更改类文本 2 年前 |
A_K · 使用cat或打印方法打印部分内容的子集闭包 2 年前 |
Mo Fatah · 如何使用Python类打印数独板? 2 年前 |