我的理解:
主要的思路是将不同模块中的相似之处(即都要用到的地方)分离出去,集中成一个“方面”,针对这个“方面” 编写代码,最后将这些代码整合到原来需要的模块中去。
这样的好处首先是减少了重复代码的编写,其次是某一模块只专注于自己的业务处理,其它的“附加”部分则无需在此模块中编写,织入即可。
例如权限验证,对于那些需要对权限进行验证的模块,我们都要在模块中增加验证,这就是一个方面。对于数据库操作来说,我们都需要开启一个事务以保证数据完整性,这也是一个方面。对于每次的数据库操作,我们可能需要进行日志记录,这也是一个方面。AOP的作用就是对把这些方面摘到某处统一管理。
JAVA的方面编程----ASPECTJ
我采用的eclipse插件AJDT进行编写方面代码。
可以在http://www.eclipse.org/ajdt/下载,安装好后就可以进行aop编程了,很简单的,我也是刚学,希望能和大家多多交流。