反转控制的一个简单例子

在Importnew.com看到一篇适合初学spring的新手理解IoC的文章,不过作者不让随便转载,我还是写写自己的「读后感」好了。

原文在这里:http://www.importnew.com/13619.html

我的理解:

反转控制是一种思想,依赖注入是一种实现方式。反转控制能帮我们处理这样的情形:为了处理一些相似的事物的同种操作,我们可以分别编写对应的class,在main方法中分别new出相应的对象然后处理;但这种方式需要在编译时确定对象的具体类型,对象多了代码量就多了,修改也麻烦。如果泛化这些对象的使用,用它们共同所属的类型来定义一个变量,而至于这个变量是什么类型的,是在调用这个函数的时候才确定的,那么就是反转控制了。


依赖注入有构造器注入、setter方法注入等。这两种方法基本上一致。


以数据库操作为例,存储数据可以存到mysql,也可以存到oracle,对应着MysqlDataStore和OracleDataStore两个类,让他们实现DataStore接口,在业务逻辑类中设定一个DataStore类型的数据。如果是构造器注入方式,那么初始化的时候指定是MysqlDataStore还是OracleDataStore类型的就可以了。






































你可能感兴趣的:(反转控制的一个简单例子)