依赖注入原则的核心思想是:要依赖于抽象,不要依赖于具体的实现。英文缩写是DIP,即Dependence Inversion Principle(可翻译为依赖反转原则)。
其实依赖注入原则的意思就是:在应用程序中,所有的类如果使用或依赖于其它的类,则都应该依赖于这些其它类的抽象类,而不是这些其它类的具体实现类(面向接口编程思想)。抽象层次应该不依赖于具体的实现细节,这样才能保证系统的可复用性和可维护性。为了实现这一原则,就要求开发人员在编程时针对接口编程,而不针对实现编程。
依赖注入原则有如下三点说明:
依赖注入原则的本质其实就是通过抽象(抽象类或接口)使各个类或模块的实现彼此独立,互不影响,实现模块间的松耦合。
高层模块不应该依赖低层模块,两者都应该依赖于抽象(抽象类或接口)。
抽象(抽象类或接口)不应该依赖于细节(具体实现类)。
细节(具体类或接口)应该依赖抽象。
抽象即抽象类或接口,两者是不能实例化的。而细节即具体的实现类,实现接口或者继承抽象类所产生的类,两者可以通过关键字new直接被实例化。
最著名的依赖注入 框架那就是spring,Guice了。其注入的形式等可参考框架。