gpt4 book ai didi

dependency-injection - 动态语言中是否需要依赖注入(inject)?

转载 作者:行者123 更新时间:2023-12-04 00:48:54 25 4
gpt4 key购买 nike

为了编写可测试的 C# 代码,我大量使用 DI。

然而最近我一直在搞乱 IronPython 并发现你可以模拟任何方法/类/函数等......你喜欢,对 DI 的需求已经消失。

对于 Python 等动态语言,情况是否如此?

代替:

class Person(Address) {
...

你可以有:
class Person() {
...
// Address initialised in here.

对于动态语言,因此根本不需要遵循动态语言的手动 DI。

对此有何建议?

最佳答案

依赖注入(inject)也是关于如何将事物连接在一起——这与依赖对象的可模拟性无关。拥有 Foo 是有区别的。 -需要 Bar 的实例- 某种连接直接实例化它,并让它完全忽略它是如何获得该连接的,只要它有它。

如果您使用依赖注入(inject),您还将获得更好的可测试性。但反之则不然。通过覆盖任何东西来更容易测试并不会带来依赖注入(inject)的其他优点。正是出于这些原因,有许多 Python 组件/DI 框架可用。

关于dependency-injection - 动态语言中是否需要依赖注入(inject)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1956140/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com