Welcome 微信登录

首页 / 软件开发 / JAVA / AOP@Work: AOP工具比较,第2部分-开发环境

AOP@Work: AOP工具比较,第2部分-开发环境2011-09-04 IBM Mik Kersten简介:在这个由两部分构成的 AOP 工具比较的第 2 部分中,面向方面专家 Mik Kersten 将把重点放在工具与开发环境的集成以及构建过程上,包括对 AOP 工具 IDE 特性的逐点比较。为了帮助制定最终决策,在进行总结的时候,作者将 介绍这些快速发展的工具近期的发展情况,并提供每种工具优缺点的总结。注意 ,本文将解释最近宣布的 AspectJ 和 AspectWerkz 项目合并的意义。

在这个由两部分构成的 AOP 工具比较的第 1 部分 中,介绍了 4 种领先的 AOP 工具(AspectJ、AspectWerkz、JBoss AOP、Spring AOP)实现核心 AOP 机 制的方式。虽然这些工具已经集中在连接点模型、切入点、通知和类型间声明的 思想上,但是每种工具在处理 AOP 语法时,仍有各自明显的优缺点。正如在第 1 部分介绍的,语法的决策不仅影响方面编程时的感觉 —— 繁琐的语 法 VS 更加直接、作为代码的切入点 VS 注释、通知保存在相同的源文件中 VS 本地化为 XML 中的方面配置 —— 而且还会对语义带来差异。现在, 这一部分将继续探索不同技术的意义,但这次的重点是研究以上决策对 AOP 工具 在整体开发过程和开发环境中的集成有什么影响。

本文从深入研究 AspectJ 对 Java™ 语言扩展的发展情况开始,重点查看代码风格在方面构 建和静态检查方面的优势和不足。然后讨论每种工具的不同编译方式,并用最新 的 AWBench 测评结果说明它们对性能的影响。

在 AOP 工具比较的第 2 部分中,最重要的讨论主题可能是 IDE 支持。本文将对每种工具的 IDE 支持逐 个特性地进行比较,并对两个实际的 IDE 插件进行看得见的比较。本文还会介绍 每种工具的文档和库支持情况,这两者是选择新技术实现时的重要因素。

文章结尾提供了对这些工具未来发展方向的一些推测,概括了每种工具的核心优 势与不足。表 1 总结了整篇文章详细讨论的开发环境集成的一些关键因素。

表 1. AOP 工具比较:开发环境集成

如果读者已经读过第 1 部分,那么现在可能正想进行开发环境集成。