zoukankan      html  css  js  c++  java
  • Spring 之 IOC ,DI 理论

    本文是依照极客学院java《Spring之IOC》章节学习的心得。随笔记录

    浅谈IOC:(Inversion of Control, 控制反转) Spring 核心容器,贯穿始终。所谓IOC,对Spring框架来说,就是由Spring来负责控制对象的生命周期和对象间的关系:

    1、 传统开发模式:对象之间互相依赖

    2、 IOC开发模式:IOC容器安排对象之间的依赖(中间加入一个管理控制中介)

    IOC理论的背景:

     

    图一为传统设计对象相互引用的模式,所有的对象同过相互之间的合作实现系统的逻辑,相互耦合起来共同实现任务,其中一个部分出现问题就有可能影响整个系统的运行

     

    图二为引用IOC理论为对象之间的关系进行解耦:IOC理论的意义就是将复杂的对象间的关系分解成相互合作的对象,通过封装,对象类实现对外部是透明的,从而降低了问题的复杂度,而且还可以灵活的被重用和扩展(将对象 间的耦合关系断开,控制权全部交由第三方,所以IOC容器是整个系统的关键核心)

    依赖注入:

    IOC的另外名字叫做依赖注入(Dependency Injection),所谓的依赖注入,就是由IOC容器在运行期间,动态的将某种依赖关系注入到对象中,所以,依赖注入(DI)和控制反转(IOC)是从不同的角度的描述的同一件事情,就是指通过引入IOC容器,利用依赖关系注入的方式,实现对象见的解耦

    IOC的好处:

    IOC在编程过程中不会对业务对象构成很强的侵入性,使用IOC之后,对象具有更好的可实行性,可重用性和可扩展性:

    1、 降低组件之间的耦合性

    2、 提高开发效率和产品质量

    3、 统一标准,提高模块的可复用性

    4、 模块具有热插拔特性

    IOC的通俗理解:

    1、 IOC控制反转:说的是创建对象实例的控制权从代码控制剥离到IOC容器控制,实际就是你在XML文件控制,侧重于原理

    2、 DI依赖注入:说的是创建对象实例时,为这个对象注入属性值或其他对象实例,侧重于实现

    (补充)3、DIP依赖倒置原则:以上框架的设计原则,(依赖倒置原则,它转换了依赖,高层模块不依赖于低层模块的实现,而低层模块依赖于高层模块定义的接口。通俗的讲,就是高层模块定义接口,低层模块负责实现。)

  • 相关阅读:
    SCAU 9504 面试
    SCAU 9503 懒人选座位
    SCAU 8628 相亲
    SCAU 10691 ACM 光环
    SCAU 8626 原子量计数
    SCAU 10674 等差对
    HDU ACM 1048 The Hardest Problem Ever (水题)
    SCAU 9502 ARDF
    SCAU 10686 DeathGod不知道的事情
    SCAU 8629 热身游戏(高精度)
  • 原文地址:https://www.cnblogs.com/laobiao/p/5429048.html
Copyright © 2011-2022 走看看