使用 AIDE 实现高效率,第 4 部分: 接触点通知与简单管理器
2010-04-06 00:00:00 来源:WEB开发网事件的另一个常见用途是用于在复杂用户交互期间提供应用程序特定的反馈机制。此类用法的一个常见示例是软件下载(对设备或应用程序)。当启动下载过程时,设备可以发送一条事件消息;然后,可以在下载完成时再发送另一个事件。与此类似,可以发送事件来指示进程。后者可用于指示进程并未停滞不动。下载完成时,接收方可以随后发送完成事件消息,以指示下载成功。
虽然 Java Swing GUI 事件和 IT 管理事件间的对照会非常有用,但二者之间存在着一些至关重要的差别。GUI 事件始终是由某个用户交互引发的。相反,IT 管理事件可能在根本没有用户交互的情况下发生(尽管它们指示发生了重要的事情)。因此,二者之间并非完全类似,但可以根据对比了解大概的信息。
图 1 显示了托管系统中事件的情况。请注意,事件流的方向通常是单向的,从托管实体指向接触点。即,通常事件告知用户发生了重要的事情。图 1 中的其他交互与 GET 和 SET 操作相关;您已经在前面的教程中看到过这两个操作了,出现在此处一点也不奇怪。
幸运的是,AIDE 包含了对通知的良好支持。我在第 2 部分曾提到过这一点,但在本教程中,您将了解通知实际发生时的详细情况以及使所有通知成为一个整体的代码。让我们首先深入分析一个 AIDE 通知示例。
接触点如何处理通知?
了解如何使用通知更新侦听器,并了解如何使用代理操作多个接触点。
使用通知更新侦听器
首先使用我们的老朋友 WeatherStation 接触点设置通知生成器。清单 1 显示了来自 Java 文件 WeatherStationImpl.java 的一个方法。我在紧靠发出通知之前的位置添加了对 println() 方法的调用。如果您希望自己运行此代码,请直接在文件中添加类似的代码行,并重新构建它即可(如以下所述)。正如您在第 2 部分中看到的,此代码利用了 Eclipse Modeling Framework (EMF) 的一些效率增强功能。联机帮助中提供了一些有关 EMF 的好文章。因此,我在此简单提一下,使用 eNotify() 方法将更改通知发送到可能侦听此对象的任何侦听器。
更多精彩
赞助商链接