2022年Java 1.5中面向方面(AOP)编程Java教程.docx
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《2022年Java 1.5中面向方面(AOP)编程Java教程.docx》由会员分享,可在线阅读,更多相关《2022年Java 1.5中面向方面(AOP)编程Java教程.docx(9页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、2022年Java 1.5中面向方面(AOP)编程Java教程对于一个能够访问源代码的阅历丰富的Java开发人员来说,任何程序都可以被看作是博物馆里透亮的模型。类似线程转储(dump)、方法调用跟踪、断点、切面(profiling)统计表等工具可以让我们了解程序目前正在执行什么操作、刚才做了什么操作、将来将做什么操作。但是在产品环境中状况就没有那么明显了,这些工具一般是不能够运用的,或最多只能由受过训练的开发者运用。支持团队和最终用户也须要知道在某个时刻应用程序正在执行什么操作。为了填补这个空缺,我们已经独创了一些简洁的替代品,例如日志文件(典型状况下用于服务器处理)和状态条(用于GUI应用程
2、序)。但是,由于这些工具只能捕获和报告可用信息的一个很小的子集,并且通常必需把这些信息用简单理解的方式表现出来,所以程序员趋向于把它们明确地编写到应用程序中。而这些代码会缠围着应用程序的业务逻辑,当开发者试图调试或了解核心功能的时候,他们必需围绕这些代码工作,而且还要记得功能发生变更后更新这些代码。我们希望实现的真正功能是把状态报告集中在某个位置,把单个状态消息作为元数据(metadata)来管理。在本文中我将考虑运用嵌入GUI应用程序中的状态条组件的情形。我将介绍多种实现这种状态报告的不同方法,从传统的硬编码习惯起先。随后我会介绍Java 1.5的大量新特性,包括注解(annotation)
3、和运行时字节码重构(instrumentation)。状态管理器(StatusManager)我的主要目标是建立一个可以嵌入GUI应用程序的JStatusBar Swing组件。图1显示了一个简洁的Jframe中状态条的样式。图1.我们动态生成的状态条由于我不希望干脆在业务逻辑中引用任何GUI组件,我将建立一个StatusManager(状态管理器)来充当状态更新的入口点。实际的通知会被托付给StatusState对象,因此以后可以扩展它以支持多个并发的线程。图2显示了这种支配。图2. StatusManager和JstatusBar现在我必需编写代码调用StatusManager的方法来报告
4、应用程序的进程。典型状况下,这些方法调用都分散地贯穿于try-finally代码块中,通常每个方法一个调用。public void connectToDB (String url) {StatusManager.push(Connecting to database);try {.} finally {StatusManager.pop();}}这些代码实现了我们所须要功能,但是在代码库中数十次、甚至于数百次地复制这些代码之后,它看起来就有些混乱了。此外,假如我们希望用一些其它的方式访问这些消息该怎么办呢?在本文的后面部分中,我将定义
5、一个用户友好的异样处理程序,它共享了相同的消息。问题是我把状态消息隐藏在方法的实现之中了,而没有把消息放在消息所属的接口中。面对属性编程我真正想实现的操作是把对StatusManager的引用都放到代码外面的某个地方,并简洁地用我们的消息标记这个方法。接着我可以运用代码生成(code-generation)或运行时反省(introspection)来执行真正的工作。XDoclet项目把这种方法归纳为面对属性编程(Attribute-Oriented Programming),它还供应了一个框架组件,可以把自定义的类似Javadoc的标记转换到源代码之中。但是,JSR-175包含了这样的内容,J
6、ava 1.5为了包含真实代码中的这些属性供应了一种结构化程度更高的格式。这些属性被称为注解(annotations),我们可以运用它们为类、方法、字段或变量定义供应元数据。它们必需被显式声明,并供应一组可以包含随意常量值(包括原语、字符串、枚举和类)的名称-值对(name-value pair)。注解(Annotations)为了处理状态消息,我希望定义一个包含字符串值的新注解。注解的定义特别类似接口的定义,但是它用interface关键字代替了interface,并且只支持方法(尽管它们的功能更像字段):public interface Status {String value(
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022年Java 1.5中面向方面AOP编程Java教程 2022 Java 1.5 面向 方面 AOP 编程 教程
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内