计算机科学 ›› 2011, Vol. 38 ›› Issue (10): 133-139.

• 软件工程 • 上一篇    下一篇

从面向方面程序设计的定义到面向方面程序设计语言

古思山,蔡树彬,李师贤   

  1. (中山大学信息科学与技术学院 广州510275);(深圳大学计算机与软件学院 深圳518060)
  • 出版日期:2018-11-16 发布日期:2018-11-16

From the Definition of Aspect-oriented Programming to Aspect-oriented Programming Languages

GU Si-shan,CAI Shu-bin,LI Shi-xian   

  • Online:2018-11-16 Published:2018-11-16

摘要: 目前无论在学术界还是工业界,很多人士简单地将面向方面程序设计理解为模块化横切关注点,狭隘地认为 面向方面程序设计构建在面向对象程序设计之上,是面向对象程序设计的扩展、有效的补充等。回顾了面向方面程序 设计的定义,分析了面向方面程序设计区别于其它程序设计方法的本质特征,并形式化了定义中的量化语句与方面, 给出了量化语句与方面的语义。重申了面向方面程序设计的本质特性是Quantification与()bliviousncss,模块化横切 关注点只是其带来的一个好处。同时指出了面向方面程序设计是一种新型的程序设计范式,独立于面向对象等其它 程序设计方法。并且,基于此定义,给出了面向方面程序设计语言需满足的最小条件集,并比较了主流的面向方面程 序设计语言,探讨了这些语言在面向方面程序设计理念上的差异。

关键词: 面向方面程序设计,面向方面程序设计语言,横切关注点,Quantification, Obliviousness

Abstract: Today a lot of people not only from industrial community but also from academic community simply take As- pect-Oriented Programming (AOP) as modularizing crosscutting concerns and in a narrow-mined way to believe that AOP is just an extension or an effective supplement to Object Oriented Programming (OOP). Based on the definition of AOP, its nature which makes it different from the other programming languages was dug out. And the quantified state- ment and aspect in the definition were formalized. Moreover the semantics of them were defined. And then we argued quantification and obliviousness in the definition are the real nature of AOP. Modularizing crosscutting concerns is just a benefit from it. And AOP is a new programming paradigm which is independent of all the other programming langua- ges. Based on the definition,the minimum condition set which Aspect Oriented Programming Languages (AOPI)need to satisfy was proposed. And the difference between the mainstream AOPL from the view of the definition was probed into.

Key words: Aspect-oriented programming, Aspect-oriented programming language, Crosscutting concerns, Quantification, Obliviousness

No related articles found!
Viewed
Full text


Abstract

Cited

  Shared   
  Discussed   
No Suggested Reading articles found!