CORBA 开发基础与 Recycle Broker 应用解析
1. CORBA 中的 Context 与服务器相关特性
在 CORBA 开发中,我们先来看 Context 相关内容。以下是一个 IDL 示例:
//IDL
module BookRepository {
...
interface SearchableCollection : Collection {
boolean find_by_title(
in string title,
out BookDetailsSeq books_found
) context (TERMINAL_TYPE, SCREEN_SIZE_*);
};
};
这里的 context 表达式会挑选出 TERMINAL_TYPE 、 SCREEN_SIZE_WID 和 SCREEN_SIZE_HGT 变量发送到服务器,其中 * 是通配符。不过,Context 存在诸多问题,不建议使用,原因如下:
|问题|详情|
| ---- | ---- |
|过时性|Context 在为操作提供辅助数据方面的作用,很大程度上已被服务上下文和拦截器取代。服务上下文是更优雅的解决方案,因为它无需在 IDL 中为每个操作进行声明。|
|易用性差|使用 Context 需要学习新的 IDL 语法,且该语法不像 IDL 其他语法那样直观,还需掌握更多映射规则。实际上,使用普通操作参数也能实现 Context 的功能。
超级会员免费看
订阅专栏 解锁全文
83

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



