• 依赖注入原理


    依赖注入原理

    什么是依赖注入

    依赖注入是实现程序解耦的一种方式。依赖注入是控制反转的一种类型,首先我们看下什么是控制反转;

    控制反转

    控制反转(Inversion of Control,英文缩写为IoC)是一个重要的面向对象编程的法则来削减计算机程序的耦合问题.控制反转一般分为两种类型,依赖注入(Dependency Injection,简称DI)和依赖查找(Dependency Lookup)。依赖注入应用比较广泛。

    这里给出一个比较形象的比喻和解释:原始社会里,几乎没有社会分工。需要斧子的人(调用者)只能自己去磨一把斧子(被调用者)。对应的情形为:程序里的调用者自己创建被调用者。

    进入工业社会,工厂出现。斧子不再由普通人完成,而在工厂里被生产出来,此时需要斧子的人(调用者)找到工厂,购买斧子,无须关心斧子的制造过程。对应简单工厂的设计模式。

    进入“按需分配”社会,需要斧子的人不需要找到工厂,坐在家里发出一个简单指令:需要斧子。斧子就自然出现在他面前。

    对应分析:第一种情况下,实例的调用者创建被调用的实例,必然要求被调用的类出现在调用者的代码里。无法实现二者之间的松耦合。

    第二种情况下,调用者无须关心被调用者具体实现过程,只需要找到符合某种标准(接口)的实例,即可使用。此时调用的代码面向接口编程,可以让调用者和被调用者解耦,这也是工厂模式大量使用的原因。但调用者需要自己定位工厂,调用者与特定工厂耦合在一起。

    第三种情况下,调用者无须自己定位工厂,程序运行到需要被调用者时,系统自动提供被调用者实例。

  • 相关阅读:
    序列化和反序列化
    自定义表达式解析器
    科学计算法帮助类MathUtils
    struts2接收参数的几种形式
    在matlab中实现遥感影像和shp文件的结合显示
    opencv实现正交匹配追踪算法OMP
    opencv实现canopy算法
    在matlab中实现线性回归和logistic回归
    在matlab中实现梯度下降法
    在matlab中实现PCA算法
  • 原文地址:https://www.cnblogs.com/hnxxcxg/p/16419343.html
Copyright © 2020-2023  润新知