美文网首页
控制反转与依赖注入

控制反转与依赖注入

作者: 没天赋的学琴 | 来源:发表于2017-08-07 23:08 被阅读0次

    控制反转(Inversion of Control)

      控制反转是希望通过第三方的介入,来对具有依赖关系的对象进行解耦。而在Spring中,是通过IoC容器来作为依赖对象的第三方,对象的控制权都交由IoC容器进行管理,由IoC容器来统一分配、管理其生命周期。(下图本人觉得对控制反转较为清晰的解释)

    (控制反转解释,图片从网络引用)

    依赖注入

      依赖注入是控制反转的一种实现方式。

    上述代码,当我们的car需要wheel时,我们是要car自己new Wheel()对象出来,这样就是所谓的car类对Wheel类存在依赖;若将上述代码改为

    上述代码,当我们需要wheel时,并不是由car自己来生成;而是通过传参的方法,给car传一个wheel对象,而car不需要管是怎样生成wheel这个对象,这个就叫依赖注入;这样,car可以不用关心wheel的构造方法是如何实现,这样就降低了类与类之间的耦合度。


    感想

      通过这个例子,初步地看到一些控制反转的好处,就是当我们修改Wheel的构造方法的时候,而不需要改变Car类中的代码。由于了解有限,所以还未能清楚地说明控制反转的优势


    参考链接

    blog.xiaohansong.com/2015/10/21/IoC-and-DI/

    相关文章

      网友评论

          本文标题:控制反转与依赖注入

          本文链接:https://www.haomeiwen.com/subject/cbpalxtx.html