依赖注入与控制反转

     依赖注入(DI)和控制反转(IOC)两个的概念差不多,两者的概念看起来都很像,只不过依赖注入是理念,控制反转是实现,

可以看成是父子关系吧,依赖注入是父,控制反转是子。

     比如说一个人需要一把斧头,那么就要在人(person)里面new一个斧头(axe)的类,这样人就依赖斧头。

这对开发来说是不太好的,因为万一有一天改需求,这个斧头不太好,我需要换一个厂家的,要河神的金斧头,那么我们需要改person类,万一别的地方又依赖于这个person类呢,又要去看别的地方是否有影响,这无穷无尽的,简直就是程序员的灾难。

所以我们就需要依赖注入,依赖注入有三种实现(抱歉,我学的比较少,只能看明白两种),构造方法注入和ioc注入。

   1、构造方法注入就是在外接实例化好对象传进去

这样子的话东西就是从外面穿进来的,person类就不依赖axe,只依赖axe的抽象等。

    2、ioc容器解决依赖

    ioc容器的实现方法网上有https://www.jianshu.com/p/101821a3c34f

    简单来讲,就是把person的所有依赖都交给一个东西(ioc容器)去解决,person只依赖那个ioc容器,这样也降低了ioc容器的耦合度,当业务发生变化的时候,改ioc容器就可以了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值