AOP@Work: AOP和元数据:完美的匹配,第1部分 - 编程入门网
AOP@Work: AOP和元数据:完美的匹配,第1部分时间:2011-09-04 IBM Ramnivas Laddad元数据增强的AOP的概念和结构 简介:在这篇由两个部分组成的系列文章的第 1 部分中,作者 Ramnivas Laddad 将对新的元数据功能进行概念性介绍,并展示在加入了元数据注释后, AOP 可以在什么地方获得最大的好处。然后他将分五步完成一个设计改造,从一 个无元数据的 AOP 实现开始,最终得到一个结合了 Participant 设计模式与注 释者-供应者(annotator-supplier)方面的 AOP。 新的 Java 元数据功能(facility)是 J2SE 5.0 的一部分,它可能是当前 Java 语言中最重要的增强。通过提供为程序元素附加额外数据的标准方法,元数 据功能具有简化和改进许多应用程序开发领域的潜在能力,其中包括配置管理、 框架实现和代码生成。这个功能还对面向方面的编程(即 AOP)具有特殊意义的 影响。 元数据与 AOP 的结合带来了一些重要的问题,其中包括: 元数据功能对 AOP 有什么影响? 元数据增强的 AOP 是可选的还是必需的? 在哪儿可以找到在 AOP 中有效地使用元数据的准则? 这种结合对 AOP 的采用有什么影响? 在这个由两部分组成的系列文章中,我将回答这些问题,这是新的 AOP@Work 系列的第二篇文章。在这篇文章的前半部分中,我首先将对元数据和 Java 元数 据功能的概念进行介绍,还将说明提供元数据和消费它的区别,并提供一些适合 使用元数据注释的常见编程场景。下一步,我将快速地回顾 AOP 的连接点模型的 基本内容,并说明它从元数据增强中可以获得哪些好处。最后是一个实际的例子 ,将使用元数据增强的 AOP 分五步完善一个设计。在第 2 部分,我将展示一种 将元数据视为多维关注点空间中的签名的一种创新方法、讨论元数据对 AOP 采用 的影响,最后提供一些有效结合 AOP 与元数据的指导。 在本文中,我将采用三种重要的 AOP 实现的例子,将这些概念应用到实例中 ,这三种实现是 AspectJ、AspectWerkz 和 JBoss APO。请参阅参考资料,以获 得关于 Java 元数据功能和面向方面编程的一组介绍文章的清单。 元数据的概念 元数据 是关于数据的数据。在编程语言上下文中,元数据是添加到程序元素 如方法、字段、类和包上的额外信息。元数据是用称为注释 的程序元素表示的。 与元数据相关的语义范围很广,从纯粹的文档,到执行行为的修改。例如,可以 用元数据描述类的作者和版权所有者,这时它对程序的执行没有影响,也可以用 它描述方法属性,比如事务特性,这很可能改变方法的行为,正如我在本文后面 所描述的。 虽然在 Java 语言中有众多的元数据工具(最著名的是 XDoclet),但是元数 据注释直到发行 Java 5.0 时才被添加到 Java 语言的核心中。 Java 元数据功 能(JSR 175,请参阅参考资料)包括一种机制,该机制允许在 Java 代码中添加 自定义注释,并允许通过反射(reflection),以编程方式访问元数据注释。 理解和使用元数据的关键是供应和消费的概念。元数据的供应者 是将注释实 例与程序元素关联的工具,消费者 是读取、解释以及对注释实例进行操作的工具 。在下一节中,我将更详细地讨论这些概念。 AOP@Work: AOP和元数据:完美的匹配,第1部分(2)时间:2011-09-04 IBM Ramnivas Laddad提供元数据 元数据功能定义了向程序元素提供注释的机制。元数据功能也可以指定一种定 义注释类型的方法。与类指定一个创建对象的模版很相像,注释类型指定创建注 释实例的模版。之后,元数据功能可以检查注释实例的注释类型。元数据功能也 可以指定一种消费注释的一般方式。元数据功能不会做的一件事是定义与注释相 关的解释和语义。这是留给消费者做的,正如我将在下一节中所讨论的那样。 元数据功能的能力是不同的。 |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |