AOP@Work: 使用方面的下几个步骤-学习建议之后 - 编程入门网
定 UI 结构集成,以标 识什么事件有意义以及什么视图值得跟踪。在业务流中使用更复杂的请求和变体 ,可以使得应用方面来监控调用后端服务的基于 Web 的、Ajax 或富客户机应用 程序中的用户行为更有用。
使用方面进行 UI 监控是我与 Jason Furlong 撰写的即将面世的行业报告的 主题。我将在 2006 年 3 月召开的 Aspect-Oriented Software Development 会议(请参阅 参考资料)上发表此报告。 我们已经将方面成功用于 UI 监控 ,接下来还将在该应用程序中实现宏记录和回放。这些方面记录鼠标或键盘动作 的 UI 事件,并标识目标 UI 控件。然后记录这些事件以及接收的 UI 视图。在 回放时,当当前目标主窗口(屏幕)和控件可见时,方面会重新生成 UI 事件。 有趣的是,UI 监控实现提供了宏方面跟踪当前屏幕以记录和回放所需的关键逻 辑。 核心集成技术 正如本节中的示例所示,开发的更高级集成阶段带来了新的技术: 暴露业务关系 特定于域的方面通常涉及域中对象和业务概念之间的关系。该信息不在 Java 类、类型和方法的 “信息集合” 中。在一些情况下,注释提供该信息。我认为 理想方法是使用描述域概念的注释(例如 @BusinessTransaction 或 @Aggregates(1, MANY)),并使用这些注释推导出特定业务关注点(比如持久化 规则)。但是,由于标准 Java EE 1.5 注释(尤其是来自 EJB 3.0 Java Persistence API 的那些注释)的出现,许多项目将提供这些注释,从而使得使 用 declare @annotation 和/或切点从注释中标识业务关系更具吸引力(例如, 从级联持久化数据确定对象聚合)。 如果项目不使用注释来跟踪对象关系,则持久化引擎中定义的元数据通常是 项目显式定义业务关系(比如关系聚合和基数)的惟一位置。这使得使用 VMS 这样的技术更具吸引力,VMS 用于从引擎的映射数据确定对象关系。因此,我正 在帮助 Sergei Kojarski 创建一个从 Hibernate 暴露业务关系供方面使用的库 。John Heintz 还致力于使 VMS 代码可重用于 Codehaus Ajlib 方面库项目。 我相信这些发展将使得编写业务方面更加容易。 跟踪连接点序列 在许多大型方面应用程序中,必须跟踪一系列连接点以确定操作所处的状态 并收集上下文数据。这通常是以下案例的扩展,在这种情况下控制流(cflow) 切点十分有用:当不能让前一连接点仍然位于未完成连接点的 “堆栈” 中时, 通常必须存储状态。可以在 percflow 方面中(即,在堆栈中两个连接点的公共 祖先的控制流中)或使用 ThreadLocal 变量来实现这一点。 方面配置 当扩展方面的功能且方面与其他类型交互时,配置和测试就成为一个问题了 。有关方面配置和测试的详细信息,请参阅 Adrian Colyer 的 “用 AspectJ 和 Spring 进行依赖项插入” 和 Nicholas Lesiecki 的 “对方面进行单元测 试”。 方面中的方面 当方面执行应用程序中的多个角色时,让它们显式合作就更理所当然了,比 如使用方面来配置依赖性注入的其他方面。在我的文章 “用 AspectJ 进行性能 监视” 中,提供了两个示例:一个方面隔离其他方面中的错误,一个方面自动 用 JMX 注册对象,其中包括其他方面。 AOP@Work: 使用方面的下几个步骤-学习建议之后(17)时间:2011-09-07 IBM Ron Bodkin阶段 4. 与他人共享 在用方面进行开发的最后一个阶段,其重点转移到构建泛化、可重用的机制 。正如使用对象一样,它采用了使用技术(AOP)的一般经验以及域经验来编写 好的、可重用的方面代码。Biggerstaff 和 Richter 的 Rule of Three(意味 着设计器应该在创建可重用实现之前检查三个系统)在方面上的应用与在对象上 的应用一样多。 请参阅 Nicholas Lesiecki 的 “用 AspectJ 增强 |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |