谈谈你对IOC和AOP的理解
IOC 就是控制反转,控制反转是一种设计思想,而不是一种具体的技术实现在 Spring 中,控制反转指的是将对象的控制权转移给 Spring 框架进行管理,由 Spring 帮我们创建对象,管理对象之间的依赖关系以前创建对象的主动权和时机都是由自己把控的,现在由 IOC 容器来做,在很大程度上简化了应用的开发IOC 容器实际上就是一个 Map 的键值对,Map 里面存放的是各种对象。IOC 容量就
IOC 就是控制反转,控制反转是一种设计思想,而不是一种具体的技术实现
在 Spring 中,控制反转指的是将对象的控制权转移给 Spring 框架进行管理,由 Spring 帮我们创建对象,管理对象之间的依赖关系
以前创建对象的主动权和时机都是由自己把控的,现在由 IOC 容器来做,在很大程度上简化了应用的开发
IOC 容器实际上就是一个 Map 的键值对,Map 里面存放的是各种对象。IOC 容量就像一个工厂一样,当我们需要创建对象的时候,只需要通过 xml 配置文件或者注解,把对象注册到组件中,而我们完全不用考虑对象是如何被创建出来的
其中,IOC 的最常见以及最合理的实现方式叫做依赖注入(DI)
使用 IOC 的优点
降低对象之间的依赖程度和耦合度
便于资源的管理。在 IOC 容器中,所有对象默认都是单例的
AOP面向切面编程基于IoC,是对OOP的有益补充;AOP代表的是一个横向的关系,剖解开封装的对象内部,并将那些影响了 多个类的公共行为封装到一个可重用模块,并将其名为“Aspect”,即切面。简单地说,就是将那些与业务无关,却为业务模块所共同调用的 逻辑或责任封装起来,比如日志记录,便于减少系统的重复代码,降低模块间的耦合度,并有利于未来的可操作性和可维护性。
AOP使用场景:
Authentication 权限检查
Caching 缓存
logging, 日志记录
Persistence 持久化
Resource pooling 资源池
Synchronization 同步
Transactions 事务管理
更多推荐
所有评论(0)