什么是IOC?教你手撸一个IOC容器

IoC

什么是IoC?

IoC是Inversion of Control(控制反转)的简称,注意它是一个技术思想。描述的是对象创建、管理的事情。

  • 传统开发方式:比如类A依赖类B,往往会在类A里面new一个B的对象。
  • IoC开发方式:我们不用去new对象,由IoC容器帮我们实例化对象并进行管理。我们需要B对象,就问IoC容器要即可。

控制反转就是说将对象创建、管理的权力交给了外部环境(IoC容器)。

IoC的作用:解决了对象之间的耦合问题。

什么是DI?

DI是Dependancy Injection(依赖注入)的简称,指容器会把对象依赖的其他对象注入。比如A对象里声明了一个B的属性,那么就需要容器把B对象注入给A。

什么是AOP?

AOP是 Aspect oriented Programming(⾯向切⾯编程)的简称。

什么是IOC?教你手撸一个IOC容器

在上面的代码中,多个方法都出现了相同的代码(可以称之为横切逻辑代码)。这部分代码不仅重复,而且跟业务逻辑没有关系但是混杂在一起。这时AOP出现了,它提供了横向抽取机制,将这部分横切代码和业务逻辑代码分开。

什么是IOC?教你手撸一个IOC容器

AOP的作用:在不改变原有业务逻辑的情况下,增强横切逻辑代码,解耦合。

手写IOC

首先我们看一下在没有Spring之前,我们是怎么开发一个web程序的呢?

什么是IOC?教你手撸一个IOC容器

那么针对上面的两个问题,我们如何进行解决呢?

  • 我们除了用new实例化对象外,
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值