AOP与OOP的区别
来源:互联网 发布:微积分 清华 知乎 编辑:程序博客网 时间:2024/05/17 22:52
AOP: (Aspect Oriented Programming) 面向切面编程。是目前软件开发中的一个热点,也是Spring框架中容。利用AOP可以对业务逻辑的各个部分进行隔离,从而使得业务逻辑各部分之间的耦合度降低,提高程序的可重用性,同时提高了开发的效率。主要的功能是:日志记录,性能统计,安全控制,事务处理,异常处理等等。
AOP、OOP在字面上虽然非常类似,但却是面向不同领域的两种设计思想。OOP(面向对象编程)针对业务处理过程的实体及其属性和行为进行抽象封装,以获得更加清晰高效的逻辑单元划分。 而AOP则是针对业务处理过程中的切面进行提取,它所面对的是处理过程中的某个步骤或阶段,以获得逻辑过程中各部分之间低耦合性的隔离效果。这两种设计思想在目标上有着本质的差异。
举个简单的例子,对于“雇员”这样一个业务实体进行封装,自然是OOP的任务,我们可以为其建立一个“Employee”类,并将“雇员”相关的属性和行为封装其中。而用AOP设计思想对“雇员”进行封装将无从谈起。
同样,对于“权限检查”这一动作片断进行划分,则是AOP的目标领域。而通过OOP对一个动作进行封装,则有点不伦不类。 换而言之,OOP面向名词领域,AOP面向动词领域。
总之,AOP可以通过预编译方式和运行期动态代理实现在不修改源代码的情况下给程序动态统一添加功能的一种技术,把散落在程序中的公共部分提取出来,做成切面类,这样的好处在于,代码的可重用,一旦涉及到该功能的需求发生变化,只要修改该代码就行,否则,你要到处修改,如果只要修改1、2处那还可以接受,万一有1000处呢。
最常用的AOP应用在数据库连接以及事务处理上。
阅读全文
0 0
- AOP与OOP的区别
- AOP 与 OOP 区别
- OOP与AOP的区别与联系
- OOP与AOP的区别与联系
- OOP与AOP的区别和联系
- AOP是什么?与OOP的区别
- JAVA中AOP与OOP的区别
- AOP是什么?与OOP的区别,java 动态代理
- AOP与OOP的关系
- AOP和OOP的一点区别
- AOP和OOP区别
- OOP和AOP区别
- AOP与OOP的关系分析
- AOP、OOP与OOD
- AOP与OOP
- 浅析AOP与OOP
- OOP与AOP关系
- OOP与AOP
- c++: 两个变量的求和输出
- 某银行降低贷款拖欠率的逻辑回归建模
- 大数据推荐算法之隐语义模型(lfm)进行Top-N推荐
- 每日一刷——一个类不能被继承 &类只能在堆上创建对象&类只能在栈上创建对象。
- 多线程之倒计时器CountDownLatch及原理
- AOP与OOP的区别
- 异常处理与调试
- 研究生报告模板LaTex
- hdu 4512 吉哥系列故事——完美队形I
- 【极角排序】吼打法
- 数据结构导论--思维导图
- C++的工厂模式和单例模式混用
- 研究生文档模板Latex
- Executor框架、线程池及其生命周期