Setter传递和接口传递进行依赖注入

接口传递是最常用的依赖注入方式,补完上节的内容。

 

一、Setter传递

和使用构造方法进行依赖注入一个道理,只不过构造方法换成了Setter方法而已。

Car.java

如果我要改动Tire的size类型,只用修改Tire类就好,上层类不需要随动。

二、接口传递

最常用的依赖注入方式,一般人应该已经习惯了…

Framework.java(接口)

先写一个接口,最终传递的参数为该接口的实现类。

Car.java

我们可以传入MyFramework实现类,也可以传入BadFramework,导致Car中run方法的输出改变。如果要改动某个实现类(在接口允许的范围内,如果改接口就不行了(接口是规范)),可以随意改动,上层类不需要随动。

三、总结

这些做法我们可能已经习以为常了,在概念上这就是依赖注入的体现。

用的时候需要明白这一概念,并且能实际体会这种做法的聪明之处。

发表评论

电子邮件地址不会被公开。 必填项已用*标注