依赖注入设计模式

字数 394阅读 376

什么是依赖注入:

依赖注入就是new好了依赖的对象注入进去,而不是在类中显式的new一个依赖的对象

依赖注入的中心思想:

高层模块不应依赖于低层模块,他们都应该依赖于抽象
抽象不依赖细节,细节依赖抽象

依赖注入的分类:

  1. 构造器注入
  2. 属性注入
  3. 方法注入

话不多说,直接上例子(用类图讲解):

举例一个游戏,丈夫可以亲自己的妻子

Paste_Image.png

1.1 经理说要改需求了:更改需求:男的也可以亲男的(上边是不用设计模式,下边是用设计模式)

Paste_Image.png
Paste_Image.png

1.2 经理又说游戏很火,但是需求不够丰富,还要改:更改需求:男的也可以亲自己的伴侣(包括猫和狗;上边是不用设计模式,下边是用设计模式)

Paste_Image.png
Paste_Image.png
Paste_Image.png

这个例子可以很清楚的看出,如果需求不断的更改且一个类依赖多个类且依赖他们的抽象类,这样会导致测试很难而且代码很难维护。当使用了依赖注入设计模式后,会极大的降低耦合度,方便测试。但是,在实际应用中,我们通常需要实现一个容器去管理和实现依赖对象的注入,比如spring,xml等方式。

参考:http://www.jianshu.com/p/8b819dccd10d

推荐阅读更多精彩内容