Aop的概念
AOP概念
- OOP:Object-oriented Programming,OOP,面向对象程序设计,面向对象编程。
- AOP:Aspect Oriented Programing**面向切面编程,一种编程范式,隶属于软件工程范畴,指导开发者如何组织程序结构
- AOP弥补了OOP的不足,基于OOP基础之上进行横向开发
◆ OOP规定程序开发以类为主体模型,一切围绕对象进行,完成某个任务先构建模型
◆ AOP程序开发主要关注基于OOP开发中的共性功能,一切围绕共性功能进行,完成 某个任务先构建可能遇到的所有共性功能(当所有功能都开发出来也就没有共性与非共性之分) - 是由“AOP联盟”进行开发
AOP作用
- 伴随着AOP时代的降临,可以从各个行业的标准化、规范化开始入手,一步一步将所有共性功能逐一开发完毕,最终以功能组合来完成个别业务模块乃至整体业务系统的开发
- 目标:**将软件开发由手工制作走向半自动化/全自动化阶段,实现“插拔式组件体系结构”搭建
AOP优势
- 提高代码的可重用性
- 业务代码编码更简洁
- 业务代码维护更高效
- 业务功能扩展更便捷
AOP核心概念
1.Joinpoint(连接点):就是方法
2.Pointcut(切入点):就是挖掉共性功能的方法
3.Advice(通知):就是共性功能,最终以一个方法的形式呈现
4.Aspect(切面):就是共性功能与挖的位置的对应关系
5.Target(目标对象):就是挖掉功能的方法对应的类产生的对象,这种对象是无法直接完成最终工作的
6.Weaving(织入):就是将挖掉的功能回填的动态过程
7.Proxy(代理):目标对象无法直接完成工作,需要对其进行功能回填,通过创建原始对象的代理对象实现
8.Introduction(引入/引介) :就是对原始对象无中生有的添加成员变量或成员方法