AOP技术应用和研究

面向切面编程(Aspect—Oriented Programming,简称AOP)是一种新的软件丌发技术,它是针对面向对象编程(Object.Oriented Programming,简称oop)在处理横跨多个模块的非核心需求时所表现出来的不足而提出的。

AOP技术应用和研究系列,首先分析了面向对象编程(OOP)的优点和缺点,从而引出AOP技术。并介绍AOP的基本思想和基本概念。并通过对AOP语言的介绍和实现的研究(特别是Spring AOP框架的实现的分析),进一步深入的分析了AOP的思想。最后通过实际应用AOP技术,总结出AOP技术开发的一般步骤;通过OOP技术和AOP技术使用的比较,论证了AOP通过分离出与系统核心业务实现无关的模块,减少模块间的耦合度从而提高开发效率,得出了AOP在处理非核心需求时所表现出的优点:代码可读性好,冗余度低,扩展性好,重用率高。

目前AOP技术应用和研究系列博文规划为六篇,已经完成四篇,目录见下文。其中AOP技术应用和研究应用示例代码已经完成,我已经分享在了github上aop
https://github.com/demiaowu/aop
有任何错误或者疑问欢迎联系[email protected]。具体参考文献,参见文末,如果有未加注明的,请联系,我将及时修改或删除。

AOP技术应用和研究--OOP

AOP技术应用和研究--AOP概述

AOP技术应用和研究--AOP语言

AOP技术应用和研究--动态代理

AOP技术应用和研究--SpringAop实现

AOP技术应用和研究--AOP应用

[1]  蓝红苑,LAN Hong-yuan.面向方面的编程方法[期刊论文]-电脑知识与技术(学术交流)2007,2(9)

[2]  贺庆和.AOP编程思想的研究-软件导刊2010,9(3)

[3]  魏巍.面向切面编程反法的研究与应用[学位论文]2008

[4]  幸俊.AOP开发过程研究及应用[学位论文]2007

[5]  金望正,李莹,徐江浩,李赣生,Jin Wangzheng,Li Ying,Xu Jianghao,LiGansheng.面向方面编程技术研究[期刊论文]-计算机应用与软件2005,22(8)

[6]  胡志刚,倪硕,HUZhi-gang,NI Shuo.面向方面程序设计及其实现技术[期刊论文]-计算机工程与设计2005,26(8)

[7]  郭东亮,张立臣,GUODong-liang,ZHANG Li-Chen.面向方面软件开发研究[期刊论文]-计算机应用研究2005,22(8)

[8]  邓阿群,厉小军,俞欢军,胡上序.一种新型软件设计方法AOP的研究[期刊论文]-系统工程与电子技术2004,26(7)

[9]  林云,LIN Yun.基于面向方面编程方法的研究[期刊论文]-电脑知识与技术2010,6(8)

[10] 宋小鹏,盛仲飚,潘宏侠,白晓峰.面向方面编程方法的研究[期刊论文]-微计算机信息2006(12)

[11] 韦振远.基于AOP技术研究与探讨.应用科学.2008(15)

[12] 张瞩熹,王怀民.基于AOP的软件运行轨迹捕获技术研究与实现[期刊论文]-计算机应用 2008(5)

[13] 张瞩熹,郭长国,苑洪亮,王怀民.基于AOP技术的通用线程监控平台的研究与实现[期刊论文]-计算机工程与科学2007(5)

[14] 唐祖锴,彭智勇,TANG Zukai,PENG Zhiyong.面向方面程序设计语言研究综述.计算机科学与探索.2010,4(1)

[15] 吕航飞.AOP编程技术探析.电脑知识和技术(学术交流).2007,4(21)

[16] 黄雷.论AOP和OOP.电脑知识与技术(学术交流).2006,4(20)

[17] 王申源,董传良,刘英丹.面向方面的编程的研究与实现.计算机应用研究2004,21(11)

[18] Ramnivas Laddad I want my AOP!.(Part1~ Part3)

[19] 袁绪峰.基于Spring宽假的AOP编程.计算机与现代化.2006(1)

[20] 唐祖锴,彭智勇,TANG Zukai,PENG Zhiyong.面向方面程序设计语言研究综述.计算机科学与探索2010,4(1)

[21]王雪松,陈瞻,唐雪飞.AOP及其编织技术的研究.福建电脑.2006(3)

时间: 2024-10-23 02:15:54

AOP技术应用和研究的相关文章

AOP技术应用和研究--AOP简单应用

为了更好的理解AOP实践和体现AOP的优势,我们始终将OOP和AOP的比较贯穿到下文中.并在最终总结出AOP与OOP相比所拥有的优点,AOP的缺点以及AOP一般的使用场景. 1.1 问题空间到解空间的映射 在比较研究OOP和AOP实践之前,先让解决从理论上OOP和AOP解决问题的差别,也就是它们各自从问题空间到解空间的不同映射关系. 1.1.1"问题空间"和"解空间"的定义 在不同的文献中对其定义有着细微的差别,本文对其定义的如下:        问题空间(prob

AOP技术应用和研究--SpringAop实现原理

Spring 的AOP实现遵守了AOP联盟的约定.同时 Spring 又扩展了它,增加了如 Pointcut.Advisor 等一些接口使得更加灵活.在Spring的AOP模块中,包括AOP的基本概念,通知,切入点等,以及最核心的AopProxy代理对象生成和Spring AOP拦截器调用的实现. 1,Spring Aop的基本概念 我们在前面 AOP基本概念对AOP基本概念进行了理论上的定义,现在我们将Spring AOP基本概念作为例子来说明AOP的基本概念,这样可以更好的理解AOP基本概念

AOP技术应用和研究--OOP

1,软件编程技术的发展 软件编程技术与程序设计语言是分不开的.过去的几十年中,程序设计语言对抽象机制的支持程度不断提高:从机器语言到汇编语言,到高级语言,再到面向对象语言.每一种新的程序设计语言的出现都带来软件编程方法的飞跃.汇编语言出现后,开发人员避免了直接使用0-l编码,而是利用符号来表示机器指令,从而更方便地编写程序.当程序规模继续增大的时候,出现了以Fortran.C.Pascal等为代表的高级语言,这些高级语言使得编写复杂的程序变得容易,开发人员可以更好地应付日益复杂的代码,这一阶段的

JAVA平台AOP技术研究

3.1 Java平台AOP技术概览 3.1.1 AOP技术在Java平台中的应用 AOP在实验室应用和商业应用上,Java平台始终走在前面.从最初也是目前最成熟的AOP工具——AspectJ,到目前已经融和在企业级容器JBoss中的JBoss AOP,均建立在Java平台上. 前面已经描述到,AOP的目的就是将核心关注点和横切关注点分离,实际上这就是一种分散关注(seperation of concerns)的思路.在Java平台下,如果要开发企业级的应用,非J2EE莫属.一个J2EE应用系统只

AOP技术研究--AOP概述

1 前言 1.1 软件编程技术发展 软件编程技术与程序设计语言是分不开的.过去的几十年中,程序设计语言对抽象机制的支持程度不断提高:从机器语言到汇编语言,到高级语言,再到面向对象语言.每一种新的程序设计语言的出现都带来软件编程方法的飞跃.汇编语言出现后,开发人员避免了直接使用0-l编码,而是利用符号来表示机器指令,从而更方便地编写程序.当程序规模继续增大的时候,出现了以Fortran.C.Pascal等为代表的高级语言,这些高级语言使得编写复杂的程序变得容易,开发人员可以更好地应付日益复杂的代码

AOP技术基础

AOP技术的诞生并不算晚,早在1990年开始,来自Xerox Palo Alto Research Lab(即PARC)的研究人员就对面向对象思想的局限性进行了分析.他们研究出了一种新的编程思想,借助这一思想或许可以通过减少代码重复模块从而帮助开发人员提高工作效率.随着研究的逐渐深入,AOP也逐渐发展成一套完整的程序设计思想,各种应用AOP的技术也应运而生. AOP技术在Java平台下是最先得到应用的.就在PARC对于面向方面编程进行研究的同时,美国Northeastern University

EMV技术学习和研究(转)

刚开始学习EMV&PBOC,磕磕碰碰,感谢xuture的<EMV技术学习和研究>给了很大帮助,让我少走了很多弯路,也感谢广俊.surge.艾零.小SO.Spinach.龙行天下的帮助,尤其要感谢广俊!!! 分享也收藏<EMV技术学习和研究>链接: EMV技术学习和研究(一)开篇 EMV技术学习和研究(二)应用选择 EMV技术学习和研究(三)应用初始化&&读应用数据 EMV技术学习和研究(四)脱机数据认证之SDA EMV技术学习和研究(五)脱机数据认证之DDA

Java开发工程师(Web方向) - 04.Spring框架 - 第3章.AOP技术

Spring框架 - AOP概述 笔记https://my.oschina.net/hava/blog/758873Spring框架 - AOP使用 笔记https://my.oschina.net/hava/blog/758881 AOP技术单元测试 返回 本次得分为:7.00/7.00, 本次测试的提交时间为:2017-09-11, 如果你认为本次测试成绩不理想,你可以选择再做一次. 1 单选(2分) 如下关于AOP的描述中错误的是: 得分/总分 A. AOP可以对代码进行解耦: B. A

Spring学习(十三)aop技术理解与使用

一.什么是AOP? aop技术是面向切面编程思想,作为OOP的延续思想添加到企业开发中,用于弥补OOP开发过程中的缺陷而提出的编程思想.AOP底层也是面向对象:只不过面向的不是普通的Object对象,而是特殊的AOP对象.AOP的关注点是组成系统的非核心通用服务模块(比如登录检查等),相对于普通对象,aop不需要通过继承.方法调用的方式来提供功能,只需要在xml文件中以引用的方式,将非核心服务功能引用给需要改功能的核心业务逻辑对象或方法中.最终实现对象的解耦.spring 中ioc技术实现了核心