AOP@Work: AOP工具比较,第1部分-语言机制 - 编程入门网
AOP@Work: AOP工具比较,第1部分-语言机制时间:2011-09-04 IBM Mik Kersten简介:AOP 技术的时代已经来临,但是怎样才能为项目选择正确的工具呢?在 新推出的 AOP@Work 系列的第一篇文章中,面向方面(aspect-oriented)的编程 专家 Mik Kersten 将比较 4 个领先的 AOP 工具(AspectJ、AspectWerkz、 JBoss AOP 和 Spring AOP),帮助大家判断应该选择哪一个工具。本文由两个部 分组成,在文中,作者将重点介绍这些工具的语言机制和不同技术的优劣。他分 别用 4 种工具编写同一个示例,让读者感觉到它们之间的高级区别。他还将讨论 每种工具的语法技术对 AOP 语义产生的效果。在文章结束时,作者将对工具的核 心语言机制(例如切入点匹配和组合、通知的格式、连接点上下文)进行深入比 较。注意,本文将解释最近宣布的 AspectJ 和 AspectWerkz 项目合并的意义。 面向方面编程(AOP)在 Java™ 平台上变得日益流行。随着 AOP 出版物和会议的增加,这项技术的工具与实现越来越多。虽然人们很清楚 AOP 是 面向对象技术的补充,但是 Java 开发人员该如何评估当前的 AOP 工具,特别是 每项新技术实现的优劣,这方面则相对不那么清楚。 本文有两部分,而且 本文还是 developerWorks 上一个新的 AOP 系列的第一篇文章。在本文中,将概 述 AOP 工具当前的技术状况,比较对于该技术而言最成熟的一些方法:AspectJ 、AspectWerkz、JBoss AOP、和 Spring AOP,并对比与每种方法的采用有关的问 题。文中还会解释最近宣布的 AspectJ 和 AspectWerkz 项目合并的意义(请参 阅参考资料)。 本文无意作为 AOP 的介绍或某个特定 AOP 实现的入门读 物。而是将对目前使用最普遍的 AOP 技术进行概述。对每个工具的语言机制和工 具支持的内在优劣进行探讨,将有助于为项目选择最合适的技术。这里定义的指 标还会让读者更加容易地评估即将推出的 AOP 工具和特性。关于 developerWorks 上介绍 AOP 的最新文章列表,请参阅参考资料。 请注意 本文有两个部分,为了方便读者,两部分同时发布。第 1 部分侧重于这 4 个领 先工具各自的 AOP 语言机制处理技术,其中包括工具的方面语法(aspect syntax)和切入点的表示、用来声明方面的机制范围等主题。第 2 部分继续深入 介绍领先的 AOP 实现如何与现有的开发环境、工具和库进行集成。这一部分包括 以下主题:方面设计器、IDE 插件、可伸缩性和 AOP 工具将来的发展方向,还包 括对最近 AspectJ 和 AspectWerkz 项目合并的关注。 选择成熟的工具 AOP 是一项新技术,所以,并不是现有的所有工具都已经成熟到适用于商 业开发。判断成熟度的一个主要因素是用户的采用程度。在考虑把一项新编程技 术应用到商用之前,这项技术必须从活跃的用户社区的反馈中得到强化。表 1 显 示了 aosd.net 上列出的目前可以使用的 AOP 工具(请参阅参考资料)。每个工 具的用户列表贴子数量可以表明它的用户基数(省略了贴子的实际数量,因为单 独一个月的统计可能给读者造成误解)。 表 1. 在 2004 年 11 月 AOP 工具用户列表中的贴子数量 AOP@Work: AOP工具比较,第1部分-语言机制(2)时间:2011-09-04 IBM Mik Kersten请注意 Spring 的 AOP 部分没有形成一个独立的下载或用户社团,所 以用户基数相当比例的用户可能没有给 Spring AOP 发贴,而是投在别的主题上 了。在 aosd.net 上还列出了 4 个额外的工具,但是它们要么缺乏用户讨论论坛 ,要么在 11 月没有贴子。 AOP 工具虽然没有列在表中前四位,但它在技 术上可能非常成熟,可是缺乏较大的用户基数就意味着它们还没有经受过采纳程 度测试。虽然在本文编写的时候,它们还不适合于商业开发,但是这些工具的日 后发展还是值得关注的。通过 |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |