Aop和OOP

来源:互联网 发布:瑜伽软件哪个好用 编辑:程序博客网 时间:2024/06/07 11:34

AOP与OOP的区别:

AOP、OOP是面向不同领域的两种设计思想。OOP(面向对象编程)针对业务处理过程的实体及其属性和行为进行抽象封装,以获得更加清晰高效的逻辑单元划分。

而AOP则是针对业务处理过程中的切面进行提取,它所面对的是处理过程中的某个步骤或阶段,以获得逻辑过程中各部分之间低耦合性的隔离效果。这两种设计思想在目标上有着本质的差异。

举个简单的例子,对于“用户”这样一个业务实体进行封装,自然是OOP/OOD的任务,我们可以为其建立一个“User”类,并将“雇员”相关的属性和行为封装其中。而对于“权限检查”这一动作片断,则是AOP的目标领域。通过AOP可以简单地实现。aop的想法就是将非逻辑部分的代码抽离出来,只考虑逻辑代码就行了,比如添加log,获取连接,关闭连接这些事务。

AOP定义:在运行时,动态地将代码切入到类的指定方法、指定位置上的编程思想就是面向切面的编程。 

一般而言,我们管切入到指定类指定方法的代码片段称为切面,而切入到哪些类、哪些方法则叫切入点。有了AOP,我们就可以把几个类共有的代码,抽取到一个切片中,等到需要时再切入对象中去,从而改变其原有的行为。AOP其实只是OOP的补充而已。OOP从横向上区分出一个个的类来,而AOP则从纵向上向对象中加入特定的代码。



0 0
原创粉丝点击