引言:
在编程的学习之路, 我们经常在讲着面向过程还是面向对象,但总归是一个程序执行流的方式,代码一行行的执行下去,但对于面向方法编程(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
分享到:
相关推荐
在本文中,我们将深入探讨MOP的一个重要概念——“原始时代”,这个术语通常用来形容早期的、较为基础的面向方法编程实践。在这一阶段,程序员们开始意识到将程序分解为一系列独立的功能模块或方法的重要性,但尚未...
面向方面编程(AOP,Aspect-Oriented Programming)是一种编程范式,旨在解决传统面向对象编程(OOP)中横切关注点的问题。横切关注点是指那些跨越多个对象或模块,但又不直接属于单一模块职责的功能,如日志记录、...
面向方面编程(Aspect Oriented Programming,简称AOP)是一种程序设计范式,它作为面向对象编程(Object-Oriented Programming,简称OOP)的补充和发展。AOP的核心理念在于识别应用程序中的**横切关注点**(Cross-...
Spring AOP 是一种面向切面的编程实现,它是Spring框架的核心功能之一,用来解决传统面向对象编程(OOP)中难以管理的横切关注点问题。在Spring中,AOP主要通过代理机制实现,允许开发者将关注点分离,将通用的辅助...
在Spring框架中,AOP(面向切面编程)是一种强大的设计模式,用于处理系统中的横切关注点,如日志、事务管理等。本篇主要探讨如何在AOP的Advice方法中获取目标方法的参数。 首先,理解AOP的基本概念至关重要。在...
### Spring AOP面向方面编程原理:AOP概念详解 #### 一、引言 随着软件系统的日益复杂,传统的面向对象编程(OOP)...对于希望深入了解Spring AOP原理与实践的读者来说,掌握以上概念将是开启面向方面编程之旅的第一步。
面向切面编程(AOP,Aspect Oriented Programming)是Spring框架中的一个重要特性,它提供了一种模块化和声明式的方式来处理程序中的横切关注点,如日志、事务管理、安全控制等。AOP的核心概念包括切面、通知、连接...
面向切面编程(Aspect-Oriented Programming,AOP)是Spring框架的核心特性之一,它提供了一种优雅的方式来处理系统的横切关注点,如日志、事务管理、性能监控和权限控制等。在Spring中,AOP主要通过代理模式实现,...
面向切面编程(AOP,Aspect Oriented Programming)是一种编程范式,旨在将系统中的关注点分离,使得代码更加模块化,易于维护和扩展。在传统的面向对象编程(OOP)中,业务逻辑往往与日志、事务管理、权限控制等横...
AOP(Aspect-Oriented Programming,面向切面编程)是一种编程思想和技术,它作为OOP(面向对象编程)的一种补充,主要解决了OOP在处理横切关注点方面的不足。在传统的面向对象程序设计中,通常会将应用划分为不同的...
面向方面编程(AOP)是一种编程范式,旨在提高软件开发的模块化程度,特别是通过将关注点分离,以便更好地管理复杂系统。AOP的核心概念是“方面”(Aspect),它封装了跨越多个类的横切关注点,如事务管理、日志记录、...
Spring AOP(Aspect Oriented Programming)是Spring框架中的一个核心组件,用于实现面向切面编程。AOP是一种编程范式,旨在将横切关注点(Cross-cutting concerns)从业务逻辑中分离出来。传统的面向对象编程(OOP...
在Spring框架中,AOP(面向切面编程)是一种强大的设计模式,它允许开发者将关注点分离,将横切关注点(如日志、事务管理、安全检查等)与核心业务逻辑解耦。"9Spring AOP 盗梦空间之四——Around"这个标题暗示我们...
本教程介绍 AOP 及其基本概念。AOP 及其相关的工具使您可以将基本横切关注点(如日志记录和安全)的代码,与程序的核心应用逻辑相分离。AOP 通过使代码更具有...然后,将会把 AOP 技术应用到一个真实世界代码示例中。
面向方面编程的核心思想是提供一种新的机制来有效地处理横切关注点。它通过在普通的一维构件中引入第二维度来实现这一点,这一维度专门用于处理横切关注点。这种设计方式有助于将业务逻辑与系统级别的关注点分离,...
面向横截面编程面向横截面编程面向横截面编程面向横截面编程面向横截面编程
面向切面编程(Aspect-Oriented Programming,简称AOP)是一种编程范式,它旨在提高软件的模块化程度,通过将关注点分离到不同的“切面”中来实现。在.NET环境中,AOP通常通过拦截器(Interceptor)或动态代理...
标签中的"C#"表明我们讨论的是.NET框架中的C#语言,"attribute"对应上面提到的特性,"aop"则是本文的核心——面向切面编程。在实际项目中,利用Attribute实现AOP可以帮助我们编写更加整洁、可维护的代码,同时减少...
AOP面向切面编程.ppt
面向切面编程(AOP)是一种编程范式,它旨在减少代码中的重复部分,特别是那些与核心业务逻辑无关但又必须处理的交叉关注点,如日志、事务管理、安全控制等。Spring框架是Java领域中实现AOP的常用工具,它通过提供...