您现在正在浏览:首页 > 职教文章 > 职教论文 > AOP及其实现机制的讨论

AOP及其实现机制的讨论

日期: 2010-5-25 14:06:01 浏览: 13 来源: 学海网收集整理 作者: 佚名

摘 要:多数软件系统都包括几个跨越多个模块的关注点(concern)。用面向对象技术实现这些关注点会使系统难以实现,难以理解,并且不利于软件的演进。新的面向方面的编程方式(aspect-oriented programming,AOP)利用模块化来分离软件中横切多模块的关注点。首先介绍了AOP的核心思想以及AOP语言的剖析、实现、好处,然后从侧面代码和功能代码的编织问题讨论了两种AOP的实现机制的特点和比较,最后展望了AOP的发展方向。
   关键字:AOP;侧面代码;功能代码;编织;关注点
   1 引言
   面向对象即使很好的解决了软件系统中角色划分的问题。借助于面向对象的分析、设计和实现,开发者可以将问题域的“名词转换成软件系统中的对象,从而很自然地完成问题到软件地转换。但是,问题领域的某些需求却偏偏不是用这样地“名词”描述地。人们认识到,传统的程序经常表现出来一些不能自然地适合单个程序模块或者几个紧密相关地程序模块的行为,例如日志记录、上下文敏感地错误、性能优化以及设计模式等等。我们将这种行为称为“横切关注点(crosscutting concern)”,因为它跨越了给定编程模型中的典型职责界限。如果使用过于横切关注点的代码,您就会知道缺乏模块所带来的问题。因为横切行为的实现是分散的,开发人员发现这种行为难以作逻辑思维、实现和更改。
   因此,面向方面的编程(Aspect-Oriented Programming,AOP)应用而生。1997年Gregor、Kiczales等人首次提出AOP的概念。AOP是目前被提议改善关注点分解的技术,它提供了模块化横切关注点的能力,支持功能代码和关注点即侧面代码的分离及自动合并,使程序更容易理解、设计、实现和维护,提供了更高的重用性和生产力,并获得了更好的可跟踪性和灵活性。
   ......

返回顶部