关于php:解释依赖注入

Explanation Dependency Injection

本问题已经有最佳答案,请猛点这里访问。

有人能帮我用"简单的词"解释吗?

  • 什么时候应该使用依赖注入。
  • 我为什么要用它?(我是否应该与MVC结合使用?)
  • 用简单的话来说什么?它是怎么工作的
  • 这是否像创建一个工厂来回收代码/脚本?
  • 它是如何交互的,当我使用前控制器时如何调用它(例如)
  • 这些问题已经叠加在一起了,但我在理解它们时仍然有一些问题。所以我真的在寻找一个简单的解释。

    我目前的项目设置方式如下(虚拟)网址:http://pastebin.com/wjau2cyz我不知道如何精确地实现DI。


    1 When should I use dependency injection?

    当您希望控制类/方法在运行时将使用哪些依赖项时,应该使用依赖项注入。最好的例子是,当您可能希望用一个使用内存进行单元测试的依赖项替换一个访问数据库的依赖项时。

    2 Why should I use it?

    它使您的代码更加可测试、更加灵活和可扩展。

    3 What does in it easy words ? How is it working?

    它通常通过将依赖项作为参数传递给方法或类的构造函数来工作。

    4 Is it like creating a factory for recycling your code/scripts?

    不,见1。

    5 How does it interact and how do I call it when I use a front-controller ( For example )?

    无论创建类或调用什么,方法都需要满足该类/方法的依赖关系。这可能就像"更新"一个对象或让一个IOC框架为您连接所有对象一样简单。


    基本上,通过使用依赖注入,您将摆脱静态依赖。例如,framework或w/e将为您处理依赖关系。它的设计模式用于防止松耦合和类似问题。

    有关详细信息,请访问wiki。

    当做英蒂