高阶组件编程:从组件适配到服务架构
1. 组件适配与面向切面编程(AOP)
在网格编程的高阶组件(HOCs)中,Wavefront - HOC所采用的组件适配概念与面向切面编程(AOP)有许多相似之处。
1.1 AOP概述
使用额外代码来表达特定应用新方面的想法并非全新。AOP工具如AspectJ和IBM的Hyper/J,通过静态和动态横切构造扩展了面向对象编程语言。横切允许将诸如日志记录和数据库事务划分等关注点捕获到影响多个代码块的切面中,这些代码块通常分散在软件设计的不同职责划分中。
- 静态横切 :在类定义中插入额外的方法或属性。
- 动态横切 :在代码中插入所谓的通知,即当具有某些属性的语句执行时采取的额外操作。
1.2 网格环境下组件适配的特点
网格环境下组件适配的特定问题在于,它处理的是在远程托管环境启动后部署到该环境中的软件方面。与AOP相比,HOC适配使用代码参数具有以下优势:
- 能够在运行时进行适配。
- 不会导致适配与特定AOP工具之间的依赖。AOP的切面语法表示不标准,依赖于所使用的工具,而HOC模型仅通过额外的代码参数将适应性与服务接口耦合,既不依赖于AspectJ等工具,也不依赖于特定的编程语言,而AOP仅限于面向对象技术。
1.3 方面与适配的互补关系
方面和适配可以相互补充。例如,在Wavefront - HOC中修改已完成任务的处理时,组件利用了原始Farm - HOC的主节点根据观察者模式发布状态变化(如任务终止)这一事实。对于不遵循观察者
高阶组件编程与服务架构实践
超级会员免费看
订阅专栏 解锁全文
835

被折叠的 条评论
为什么被折叠?



