IOC

IoC(Inverse of Control)的字面意思是控制反转,它包括两个内容:
1、控制
指依赖对象的创建权
2、反转
将依赖对象的创建权交由外部容器处理。

哪些方面的控制被反转了?指的是依赖对象的获得被反转了。因此也有一个更好的名字:依赖注入。

依赖注入有如下实现方式:
    基于接口:实现特定接口以供外部容器注入所依赖类型的对象。
    基于 set方法:实现特定属性的public set方法,来让外部容器调用传入所依赖类型的对象。
    基于构造函数:实现特定参数的构造函数,在新建对象时传入所依赖类型的对象。
    基于注解:基于Java的注解功能,在私有变量前加“@Autowired”等注解,不需要显式的定义以上三种代码,便可以让外部容器传入对应的对象。该方案相当于定义了public的set方法,但是因为没有真正的set方法,从而不会为了实现依赖注入导致暴露了不该暴露的接口(因为set方法只想让容器访问来注入而并不希望其他依赖此类的对象访问)。

应用控制反转,对象在被创建的时候,由一个调控系统内所有对象的外界实体将其所依赖的对象的引用传递给它。也可以说,依赖被注入到对象中。所以,控制反转是,关于一个对象如何获取他所依赖的对象的引用,这个责任的反转。

IoC 体现了 “依赖倒置原理”("Dependency Inversion Principle")。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值