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 部分,那么现在可能正想进行开发环境集成。 AOP@Work: AOP工具比较,第2部分-开发环境(2)时间:2011-09-04 IBM Mik Kersten构建方面 在使用 AOP 工具时,不管是使用工具的 IDE 支持,还 是通过 Ant 和命令行进行构建,您会注意到的第一件事是:AOP 工具与构建环境 集成得怎么样?在谈到构建环境集成的时候,AOP 工具之间的关键区别在于该工 具是否采用了语言扩展。虽然 AspectJ 提供了一种代码风格,这种风格是 Java 语言的一种扩展,但是其他三种技术都采用了普通 Java 语言与基于 XML 和注释 的方面语言的组合。从集成的观点来看,AspectJ 对 Java 语言的扩展更有利, 因为方面声明拥有与类声明一样简洁的格式和易于编辑的方式。但从负面来看, 扩展 Java 语言是个挑战,因为每种解析 Java 源代码的工具都必须扩展,才能 理解方面。结果,虽然目前有一套 AspectJ 工具(正如在特性比较中讨论的), 但这个套件仍不完整。 从构建环境的角度看,这些技术的主要区别是: AspectJ 必须提供自己的编译器,而其他工具可以依靠标准的 Java 编译器。 AspectJ 编译器扩展了 Eclipse Java 编译器,可以脱离 Eclipse 在命令行上独 立运行,也可以用作 Eclipse 和其他 IDE 的插件。AspectJ 编译器对 “.java” 或 “.aj” 文件中声明的 AspectJ 和 Java 代码进行构建,并生成普通的 Java 字节码。虽然要使用新编译器这点有些不足 ,但是这么做可以提供切入点的静态检查,而且还会带来很大的益处。 切 入点的静态检查 在处理类时,Java 程序员对静态检查的依赖很重。这意 味着,不用过多考虑方法名称的拼写错误, |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |