Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/algorithm/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Dependency injection 依赖注入缺点_Dependency Injection - Fatal编程技术网

Dependency injection 依赖注入缺点

Dependency injection 依赖注入缺点,dependency-injection,Dependency Injection,依赖项注入设计模式据说有助于松耦合,但是我无法理解它是如何实现的,因为调用对象必须将构造函数中的依赖项传递给服务 请解释一下?我发现的唯一缺点是突出了设计问题,并导致许多程序员将设计问题归咎于依赖注入 我相信Krzysztof Koźmic能比我更好地解释这一点。请阅读 我无法理解它是如何实现的,因为调用对象必须将构造函数中的依赖项传递给服务 调用对象不必在服务的构造函数中传递依赖项 调用对象将服务的实现注入其构造函数,如下所示: public class CallingObject {

依赖项注入设计模式据说有助于松耦合,但是我无法理解它是如何实现的,因为调用对象必须将构造函数中的依赖项传递给服务


请解释一下?

我发现的唯一缺点是突出了设计问题,并导致许多程序员将设计问题归咎于依赖注入

我相信Krzysztof Koźmic能比我更好地解释这一点。请阅读

我无法理解它是如何实现的,因为调用对象必须将构造函数中的依赖项传递给服务

调用对象不必在服务的构造函数中传递依赖项

调用对象将服务的实现注入其构造函数,如下所示:

public class CallingObject
{
    private readonly IService m_Service;

    public CallingObject(IService service)
    {
        m_Service = service;
    }

    public void DoSomething()
    {
        m_Service.AskForService();
    }
}
负责将所有对象连接在一起的实体是


因此,组合根必须将依赖项传递到服务的构造函数中。

请您解释一下,这是什么意思?@phanishm:您应该阅读链接文章。这篇文章准确地描述了jlvaquero的意思。这是一个好问题,但不是针对StackOverflow。这里的问题应该非常具体,而不是一般的模式或原则。我认为你应该在@MarnixvanValen上问这个问题。这个问题对程序员来说太不合适了——很快就会被否决并在那里结束,请参阅推荐阅读: