引言:
在编程的学习之路, 我们经常在讲着面向过程还是面向对象,但总归是一个程序执行流的方式,代码一行行的执行下去,但对于面向方法编程(AOP),个人感觉,它的实现方式,让人焕然一新。AOP的学习,不仅仅在于一种应用,更是一种思路的学习。我很感叹这种编程方式,在不改变原有的实现方式代码下,增加新的功能。
在Spring中的AOP提到了AOP可以用来做日志、事务等等。
如举个简单的例子:对程序中类一个类中的某一接口方法在被调用时,我需要在调用它之前或之后做一些想做的处理呢?而做这些处理的动作在于不改变原有代码的情况下。
对于它的好处,我深信不疑,我也相信对它的学习,会在我今后的工作中,也起到很大的帮助作用。所以我想深入的去学习它,从了解它的思路,到Spring的AOP实现方式,实现原理。学的不仅仅是一种应用,更是一种思想的改革。
概念:
引用百度百科里面的一段描
写道
AOP为Aspect Oriented Programming的缩写,意为:面向方法编程,可以通过预编译方式和运行期动态代理实现在不修改源代码的情况下给程序动态统一添加功能的一种技术。 AOP实际是GoF设计模式的延续,设计模式孜孜不倦追求的是调用者和被调用者之间的解耦,AOP可以说也是这种目标的一种实现。
AOP是OOP的延续,是(Aspect Oriented Programming)的缩写,意思是面向切面(方面)编程。
主要的功能是:日志记录,性能统计,安全控制,事务处理,异常处理等等。
主要的意图是:将日志记录,性能统计,安全控制,事务处理,异常处理等代码从业务逻辑代码中划分出来,通过对这些行为的分离,我们希望可以将它们独立到非指导业务逻辑的方法中,进而改变这些行为的时候不影响业务逻辑的代码。
AOP切图
相关框架:
在AOP的世界里面,留给我们的有很多的框架,其中,如Spring in Action 这本书中提到的三大成熟的框架:
■ AspectJ (http://eclipse.org/aspectj)
■ JBoss AOP (http://labs.jboss.com/portal/jbossaop/index.html)
■ Spring AOP (http://www.springframework.org)
感想:
在AOP的世界里,你可以暇想着,不再会因为业务方多变的需求,而去大量的原有代码中进行修改,经常性的代码修改,出现问题的情况时有发生。但aop的实现方式,让你的实现方式大大简单了,虽然并不是对所有的需求变更都可以用这样的方式实现。
举一简单的例子,如果有一个突然到来的需求说:如果用户新注册成功的时候,就自动发送红包。
这时,可以不去更改原来已经方法,而只要在新用户注册成功把信息存入数据库中的那个方法,加入一个切入点,在方法执行完之后,执行相应的处理代码。这个需求就很轻松的实现了,而且,测试简单,不会轻易引入新的bug问题。
其他相关
:
面向方法编程AOP学习之二 —— “原始时代”
- 大小: 32.5 KB
分享到:
相关推荐
NULL 博文链接:https://sammor.iteye.com/blog/1054464
AOP 面向服务 面向方面编程 AOP 面向服务 面向方面编程 AOP 面向服务 面向方面编程 AOP 面向服务 面向方面编程
Spring AOP面向方面编程原理Spring AOP面向方面编程原理Spring AOP面向方面编程原理Spring AOP面向方面编程原理Spring AOP面向方面编程原理Spring AOP面向方面编程原理Spring AOP面向方面编程原理
Spring,面向切面编程AOP例子!AOP(Aspect Oriented Programming)!
AOP是OOP的延续,是(Aspect Oriented Programming)的缩写,意思是面向切面编程。 OO注重的是我们解决问题的方法(封装成Method),而AOP注重的是许多解决问题的方法中的共同点,是对OO思想的一种补充! 主要的功能是:...
关于Spring框架的aop简介
aop,面向切面编程
Spring AOP面向方面编程原理:AOP概念,主要介绍面向对象的概念及原理,及作者的一些理解。
Spring-aop面向切面编程实例 日志系统,权限控制等.
NULL 博文链接:https://lihaiming.iteye.com/blog/2273380
本教程介绍 AOP 及其基本概念。AOP 及其相关的工具使您可以将基本横切关注点(如日志记录和安全)的代码,与程序的核心应用逻辑相分离。AOP 通过使代码更具有...然后,将会把 AOP 技术应用到一个真实世界代码示例中。
AOP 面向方面编程 技术总结 AOP 面向方面编程 技术总结
面向横截面编程面向横截面编程面向横截面编程面向横截面编程面向横截面编程
AOP面向切面编程.ppt
一直对AOP面向切面编程的理解很模糊的同学可以看看。
AOP面向切面编程实例,可当作业提交。.net代码亲测,完全正确运行。
aop 面向切面编程 demo,通过一个小案例来讲解,aop在andriod开发中运用
Spring4AOP 面向切面编程实例之方法拦截实例 一下利用Spring4的最后一个版本Spring4.3.9,实现简单的方法拦截实例。 Eclipse 建立java工程,导入必要的jar包,工程目录如下:
2.1 面向切面编程AOP入门 软件系统中的一些功能需要用到应用程序的多个地方,但是我们又不想在每个点都明确调用它们。日志、安全和事务管理的确都很重要,但它们是否为应该被应用对象主动调用呢?如果让应用对象只...
spect Oriented Programming(AOP),面向切面编程,是一个比较热门的话题。AOP主要实现的目的是针对业务处理过程中的切面进行提取,它所面对的是处理过程中的某个步骤或阶段,以获得逻辑过程中各部分之间低耦合性的...