AOP,OOP两种编程思想联系
2016-05-18 22:25
267 查看
AOP与OOP是面向不同领域的两种设计思想。
AOP为Aspect Oriented Programming的缩写,意为:面向切面编程,通过预编译方式和运行期动态代理实现程序功能的统一维护的一种技术。
OOP(面向对象编程)针对业务处理过程的实体及其属性和行为进行抽象封装,以获得更加清晰高效的逻辑单元划分。
AOP则是针对业务处理过程中的切面进行提取,它所面对的是处理过程中的某个步骤或阶段,以获得逻辑过程中各部分之间低耦合性的隔离效果。
OOP实际上是对对象的属性和行为的封装,而AOP对于这点就无从谈起,但是AOP是处理某个步骤和阶段的,从中进行切面的提取,也就是说,如果几个或更多个逻辑过程中,有重复的操作行为,AOP就可以提取出来,运用动态代理,实现程序功能的统一维护,例如在每个方法里的开始、结束、异常的地方手动添加日志,使用AOP就可以借助代理完成这些重复的操作,就能够在逻辑过程中,降低各部分之间的耦了。二者扬长补短,互相结合最好。
AOP为Aspect Oriented Programming的缩写,意为:面向切面编程,通过预编译方式和运行期动态代理实现程序功能的统一维护的一种技术。
OOP(面向对象编程)针对业务处理过程的实体及其属性和行为进行抽象封装,以获得更加清晰高效的逻辑单元划分。
AOP则是针对业务处理过程中的切面进行提取,它所面对的是处理过程中的某个步骤或阶段,以获得逻辑过程中各部分之间低耦合性的隔离效果。
OOP实际上是对对象的属性和行为的封装,而AOP对于这点就无从谈起,但是AOP是处理某个步骤和阶段的,从中进行切面的提取,也就是说,如果几个或更多个逻辑过程中,有重复的操作行为,AOP就可以提取出来,运用动态代理,实现程序功能的统一维护,例如在每个方法里的开始、结束、异常的地方手动添加日志,使用AOP就可以借助代理完成这些重复的操作,就能够在逻辑过程中,降低各部分之间的耦了。二者扬长补短,互相结合最好。
相关文章推荐
- javaWeb开发之(一)_jdk安装与配置(Windows)
- 机器学习实践指南(五)—— GD/SGD/MSGD 伪代码演示
- 关于java.util.Vector 或 java.util.Hashtable类过时的讨论
- PHP错误Warning: Cannot modify header information - headers already sent by解决方法
- java笔记之类和对象
- Django官方【实例】-简单的全方位例子
- Java接口和抽象类
- MyEclipse优化设置
- 面筋: 奇虎360 c++ 后台开发 实习生 面试
- imfilter()函数的用法
- Java使用quartz实现作业调度
- java中的Clone(深拷贝,浅拷贝)
- 镜花水月,过不留痕————铭记那些给我们带来进步的C语言小难题<2>
- Java&Python操作WebHDFS
- [原创]java WEB学习笔记10:GenericServlet
- ASP.NET MVC4入门到精通系列目录汇总(转)
- Struts2_Action记录在线人数实例
- JavaSE和JavaEE的起步学习路线
- 思维导图教你看懂----------Java IO流
- Python dictionary implementation