论文部分内容阅读
在软件技术的研究中,AOP 以其对横切封装的特性改善了OOP 中的代码冗余以及代码分散等缺陷,逐渐成为新一代的程序设计思想。而AOP 架构的实现更成为了AOP 技术中研究的热点和重点。在静态AOP 架构日趋成熟的同时,对于动态的AOP 架构尚没有实现的规范。另一方面对于中间件架构来讲,多变的分布式应用对于中间件系统的自适应性提出了更高的要求。动态AOP 架构对于增强原中间件架构在动态性和可扩展性方面的实现起到重要作用。因此,我们设计了一种动态AOP 架构,提出设计的规范。将它整合于原中间件架构中,以满足更高的可适应性要求。第二章深入AOP 实现架构的研究。在Aspect 元素的表示以及交织的实现两方面对静态AOP 架构以及动态模拟AOP 架构进行研究。在总结两类AOP 架构特征的基础上,提出了一种AOP 架构特征。根据这一特征,构建了基于ACCM可扩展服务器之上的动态AOP 初步架构,论述其设计中的重点。第三章进一步设计AOP 架构。包括Aspect 内部组成元素的设计以及系统模型设计。整个AOP 架构模型分为: Aspect 交织模块和与可扩展服务器交互的Aspect 部署器、Aspect 管理器。核心在于交织模块的设计中代码织入方式的选择。根据这种织入方式,所设计交织模块实现模型分为:编制器、字节码修改器、类Aspect 管理器以及实例Aspect 管理器四个部分。第四章实现动态AOP 框架并在服务器中的加载动态AOP 框架。首先介绍了Java 语言自身对动态编程方面的支持。详细描述了四种Pointcut 交织实现过程,交织模块中的各个部分的结构以及实现接口。最后根据可扩展服务器的要求,实现了动态AOP 框架组件在服务器上的部署。第五章为全文总结,包括:工作总结、系统特点以及下一步的工作。