gpt4 book ai didi

inversion-of-control - 国际奥委会与新指南

转载 作者:行者123 更新时间:2023-12-01 08:16:30 25 4
gpt4 key购买 nike

最近我正在查看社区领导者在他们的开源实现中提供的一些源代码。其中一个项目利用了 IOC。这是示例假设代码:

public class Class1
{
private ISomeInterface _someObject;

public Class1(ISomeInterface someObject)
{
_someObject = someObject;
}

// some more code and then

var someOtherObject = new SomeOtherObject();
}

我的问题不是关于 IOC 的用途以及如何在技术方面使用它们,而是关于对象创建的指导方针是什么。所有这些努力,然后这条线使用"new"运算符。我不太明白。哪个对象应该由 IOC 创建,哪些对象可以通过 new 运算符创建?

最佳答案

作为一般经验法则,如果某物提供的服务可能希望被替换以进行测试或使用不同的实现(例如不同的身份验证服务),则注入(inject)依赖项。如果它像一个集合,或者一个简单的数据对象,它不提供你想要改变的行为,那么在类中实例化它就可以了。

关于inversion-of-control - 国际奥委会与新指南,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9791192/

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