面向方面的编程(AOP)是一种新的编程技术,它弥补了面向对象的编程(OOP)在跨越模块行为上的不足。AOP引进了Aspect,它将影响多个类的行为封装到一个可重用模块中,它允许程序员对横切关注点进行模块化,从而消除了OOP引起的代码混乱和分散问题,增强了系统的可维护性和代码的重用性。首先进行了AOP与OOP的比较,给出了AOP的原理和AOP的JBoss实现,最后介绍AOP在设计模式中的应用,并说明了使用它所带来的设计益处以及在应用AOP中应注意的问题。