APP下载

关于计算机编程思想与AOP编程思想的研究

2015-11-17楼程伟陈丽红

电脑知识与技术 2015年24期

楼程伟 陈丽红

摘要:为了进一步拓展AOP,即面向切面编程在程序设计和软件开发中的应用范围,该文通过对计算机编程思想进行研究,在结合计算机相关语言和应用环境的基础上,对结构化程序设计与面向对象程序设计做出对比分析,进而对AOP的编程思想展开了深入研究。

关键词:计算机编程;AOP编程;结构化程序;软件性能

中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2015)24-0052-02

Study of Computer Programming thought and AOP Programming Ideas

LOU Cheng-wei1, CHEN Li-hong 2

(1.JinHua Education College, Jinhua 321000, China; 2.No.6 Middle School of JinHua, Jinhua 321000, China)

Abstract:In order to further expand the AOP, namely the aspect oriented programming in the program design and scope of the application software development, this article through to study computer programming ideas, in combination with computer related language and application environment, on the basis of the structured programming and object-oriented programming to make comparison and analysis, and then to AOP programming ideas for further research.

Key words:computer programming; AOP programming; a structured program; software performance

社会经济的不断发展为网络信息技术的发展提供了有利的条件,在此种背景下,计算机编程也得到了更为广泛的应用。作为计算机编程应用的重要前提条件,编程思想不仅关系着所编程序的质量,而且,对于计算机信息技术的发展也具有重要影响。基于此,本文从计算机编程思想的角度出发,进而对当前的新兴编程思想,即AOP编程思想做出了全面分析。

1 计算机编程思想研究

1.1 计算机语言应用及环境分析

就现阶段而言,计算机编程仍然受诸多编程环境的影响,目前,常见的编程环境主要有Vista操作系统、Windows操作系统和Linux操作系统等。不同的编程语言对不同编程环境的适应性也不尽相同,例如,C语言因其简单紧凑、应用方便和运算、数据类型丰富等特点十分适用于Windows操作系统中,而HAL.DLL及计算机相关硬件部分则以传统的汇编语言为主[1]。

1.2 结构化程序设计

计算机的结构化编程思想是当其在面临复杂任务时,为防止任务混乱而产生的一种编程思想,该思想的重点是将程序进行规范化,具体内容如下:通过采用模块分解和功能抽象,进而将复杂的任务分解成容易处理和控制的子任务,并对分解后的子任务实施级别更加细化的任务划分,从而确保最终得到的子任务成为一种能够独立进行程序编写的子程序模块,并以相关调用和结构关系为依据,将此类模块进行组织协调,最终获得所需程序。需要说明的是,对任意的大型程序,其基本构成程序总是包括三种基本基本结构,分别为顺序结构、选择结构和循环结构。根据所要实现的功能,将大型程序划分成若干个基本功能模块,各功能模块均能够实现对计算机的控制和数据处理,从而按照层次关系,进行合理组织,实现复杂程序的相关功能[2]。

1.3 面向对象程序设计

基于面相对象设计的编程思想将对象、类、封装以及消息和集成等概念对相关程序展开设计,并为了能够解决结构化程序设计难以处理的部分问题,如代码重用等,从而提出了面向对象程序设计的技术,其编程思想的特点如下:1)封装。作为类与对象概念的主要特征,封装能够使模块的独立性大幅提升,从而为用户对程序做出修改与维护提供了保证;2)抽象与继承。抽象主要包括了对程序数据与编写过程的抽象,而继承性则使得所编写程序的可重用性问题得以良好解决。面向对象程序开发思想的上述优越性使其能够针对所编写的程序积极引用较为成熟的类库,进而从整体上提高了软件开发的效率。

结构化程序与面向对象程序两种编程思想并不是各自独立的,二是相互支持并存在关联的,就现阶段而言,在进行面向对象的程序设计时,通常以“对象=算法+数据结构”或“程序=对象+对象”来进行,由此可知,在进行面向对象程序设计时,仍然需要对算法予以良好实现的结构化程序设计思想,以此确保程序编写的准确性和全面性[3]。

2 AOP编程思想研究

2.1 AOP编程的开发思想

计算机编程思想和编程技术的发展使得以面向对象为主要思想的编程方法成为了计算机编程领域应用最为广泛的思想,有效促进了编程技术的发展。然而,面向对象的编程思想始终难以克服在编程过程中发生的冗余问题。基于此,经过相关领域人员的研究和分析,AOP编程思想得以产生。

AOP,即面向切面编程是一种利用程序运行期动态代理和预编译方式实现程序功能的一类编程技术,其实质上是OPP编程的扩展和延伸,同时,也是基于Java语言的Spring开源框架的重要组成部分,通过隔离业务逻辑的各个部分,从而降低其彼此间的耦合度,在具备面向对象变成的程序可重用性优势的同时,也大幅提高了软件开发的效率[4]。

2.2 AOP编程思想的优势

AOP编程思想具有记下几方面优势:1)更好地定义服务。利用AOP编程思想展开程序编程能够促使服务实现多元化应用,并在确保编程简易化的同时,获取更多的程序功能。2)较高的专注性。在对离散方面子程序进行创建时,能够积极引用开发团队的某项工作进行专注开发,对于团队中的精英而言,其可以较好地实现编程体验,从而提高自身编程技能并增加AOP编程经验。3)编程的持久性。在利用AOP编程思想展开基本结构程序的面向对象编程时,开发人员可以独立的方式利用相同的编程代码进行对象的创建,并通过调用所创建对象,降低程序重复编译的次数, 促使程序编译效率实现最大化[5]。

2.3 AOP将系统视为关注点

AOP同样也是GOF设计模式的延伸,通过强调调用对象与被调用对象的解耦思想,从而为开发人员提供了能够进行横切关注点描述的科学机制,同时,将横切关注点予以主动织入到面向对象的程序当中,从而为横切关注点模拟化提供了良好的保障,使其能够对方面代码做出合理划分,提高程序开发效率。对于开发人员而言,通过AOP编程思想的利用,能够使其在进行程序编译时更好地对系统的方面代码进行插入、更改和删除,使得程序的可重用性得到大幅提升。

2.4 AOP编程软件性能

基于AOP编程思想的软件具有以下两方面性能:1)代码冗余度。在OOP(面向对象编程)中,因横切关注点通常涉及的模块种类较多,故围绕横切关注点的程序功能的实现也大都分布在诸多模块当中,例如,在一个对数据库予以引用的系统当中,系统的性能则极有可能对所有访问数据库的模块产生影响,从而将代码分散至不同模块中。对于AOP而言,其模块化横切关注点对每个关注点的处理方面采取最小耦合的思想,使得横切关注点也具有了模块化性能,基于此种设计产生的系统,不仅代码冗余度大幅减小,而且对各模块功能的调用效率也得到了有效提升,为系统维护人员的维护工作奠定了良好基础[6]。2)对于面向对象的程序设计而言,由于其一个模块通常要实现多个关注点的对应,故而使得其他对类似功能具有需求的系统并不能马上对该模块进行调用。对于AOP程序设计而言,其通过将每一方面(Aspect)进行独立模块化,从而确保各个模块间呈现出一种松散耦合的状态。例如,在程序编写时,能够引入另一独立日志写入器对既有的日志写入器予以替换,从而将日志写入数据库当中,使不同日志的写入需求均能够得到良好实现。由此可见,基于AOP编程思想的各模块松散耦合的实现能够有效提高代码重用性,与OOP编程相比,实现模块松散耦合方面具有较大优势。

3结论

本文通过语言应用、应用环境以及结构化和面向对象程序设计等计算机编程思想进行论述和分析,进而从开发思想、编程优势、切入关注点和软件性能等方面对AOP编程思想展开了系统探究。研究结果表明,与面向对象的编程思想相比,AOP编程思想在程序重用和模块松散耦合方面具有较大优势。因此,未来需要进一步加强对AOP编程思想的研究和应用力度,通过将其与OOP编程思想进行优势互补,促使计算机编程技术得以不断提升和发展。

参考文献:

[1] 贺庆和.AOP编程思想的研究[J].软件导刊,2011,3(23):25-27.

[2] 王婧.计算机编程思想的发展研究[J].黑龙江科技信息,2014,10(25):146.

[3] 赵宗花,李占丰.关于PLC程序设计中对计算机编程思想的应用研究分析[J].科协论坛(下半月),2011,2(13):45-46.

[4] 张瞩熹,郭长国,苑洪亮,等.基于AOP技术的通用线程监控平台的研究与实现[J].计算机工程与科学,2012,5(16):120-122.

[5]吕航飞.AOP编程技术探析[J].电脑知识与技术:学术交流,2007,1(15):765-767.

[6] 闫兆振,贾作皆.AOP技术及其应用[J].福建电脑,2012,7(18):63-64.