IOC和AOP

Ioc简介

什么是Ioc

IOC(Ioc—Inversion of Control),即“控制反转”,不是什么技术,而是一种设计思想。在Java开发中,Ioc意味着将你设计好的对象交给容器控制,而不是传统的在你的对象内部直接控制。

Ioc图解

传统程序时序图:

Ioc设计思路程序时序图:

Ioc能做什么

IOC(控制反转)的其实本质是一种工厂模式的实现。
它指导我们如何设计出松耦合、更优良的程序。传统应用程序都是在类内部主动创建依赖对象,从而导致类与类之间高耦合,难于维护;而有了IoC容器后,把创建和查找依赖对象的控制权交给了容器,由容器进行注入组合对象,所以对象与对象之间是松散耦合,这样也方便测试,利于功能复用,更重要的是使得程序的整个体系结构变得非常灵活。

AOP简介

什么是AOP

AOP是面向切面变成,其本质是代理模式的一种实现。其实就是划分出来了一个切面,然后在这个切面里面进行了一些增强,最后产生一个增加了新功能的代理对象,注意,是代理对象,这是Spring AOP实现的基础。这个对象只不过比原始对象(Bean)多了一些功能而已,比如Bean预处理,Bean后处理,异常处理等。

AOP能做什么

例如Spring的事务管理,或者我们之前实现过的LogManager

he