[发明专利]基于模型驱动的利用反射机制进行动态交互的系统及方法有效
| 申请号: | 201510289029.0 | 申请日: | 2015-05-29 |
| 公开(公告)号: | CN105022626B | 公开(公告)日: | 2018-08-03 |
| 发明(设计)人: | 武建军 | 申请(专利权)人: | 克拉玛依红有软件有限责任公司 |
| 主分类号: | G06F9/44 | 分类号: | G06F9/44;G06F9/46 |
| 代理公司: | 北京市盛峰律师事务所 11337 | 代理人: | 于国富 |
| 地址: | 834000 新疆维*** | 国省代码: | 新疆;65 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 基于 模型 驱动 利用 反射 机制 进行 动态 交互 系统 方法 | ||
1.一种基于模型驱动的利用反射机制进行动态交互的系统,其特征在于,所述系统包括:
一个组件管理容器和与所述组件管理容器关联的多个组件;
每个所述组件的元数据信息和与其他组件之间的调用逻辑关系存储在所述组件管理容器中;
所述组件管理容器负责产生每个组件的组件实例,并根据每个组件的调用逻辑关系查找和创建组件实例;在组件间交互逻辑和组件元数据信息描述的基础上,动态调用和组织与组件实例相关的组件中存储的方法;
所述组件管理容器包括:组件逻辑控制模块、组件管理中心、事件管理器、组件生成器、组件包装器;
组件逻辑控制模块,根据组件间交互逻辑和驱动模型,获取与发出事件触发请求的组件A有逻辑关系的组件实例;
组件管理中心,用于读取所述组件A的元数据信息和与所述组件A存在逻辑关系的组件信息;
事件管理器,用于接收所述组件A发出的事件触发请求并获取所述组件A中触发相应事件的参数信息;
所述参数信息包括:方法和参数;
组件生成器,根据组件元数据信息生成每个组件的组件实例;
组件包装器,用于包装与所述组件A有逻辑关系且产生所述事件触发请求所触发的事件类型的组件所产生的组件实例;
所述驱动模型包括所有组件驱动唯一序列号表、组件元数据管理信息表和组件方法管理表,所述所有组件驱动唯一序列号表、所述组件元数据管理信息表和所述组件方法管理表通过组件的唯一序列号关联。
2.一种如权利要求1所述基于模型驱动的利用反射机制进行动态交互的系统的交互方法,其特征在于,该方法包括:
S1,事件管理器接收组件A发出的事件触发请求;
S2,在所述驱动模型的基础上,组件管理中心获取与所述组件A有逻辑关系且与所述事件触发请求触发的事件类型相对应的组件的信息;
S3,判断所述组件管理容器内部是否存储与所述组件相对应的组件实例,如果存在,则进入S4;如果不存在,则进入S5;
S4,组件生成器获取所述组件实例,组件包装器反射调用与所述组件实例相关联的组件中存储的方法;
S5,组件生成器调用产生所述组件实例的方法,创建所述组件实例,组件包装器依据所述组件实例反射调用与所述组件实例相关联的组件中存储的方法;在步骤S1之前还存在以下步骤:
组件管理容器中预先存储与所述组件管理容器连接的各个组件的描述信息和各个组件的逻辑关系信息,同时,组件管理容器中的组件逻辑控制模块依据组件逻辑关系信息和组件描述信息产生组件实例,并将所述组件实例存储在组件容器的存储单元中;
步骤S1具体按照下述方法实现:
A1,所述事件管理器捕获组件A发出的事件触发请求;
A2,从组件A中,获取与触发事件类型相关联的方法及参数;
A3,将所述事件触发请求触发的事件类型和获取的与触发事件类型相关联的方法及参数,发送给所述组件管理中心的事件管理器;
步骤S2具体按照下述方法实现:
B1,所述组件管理中心中的驱动模型依据组件A的元数据信息和组件A中与触发事件类型相关联的方法及参数,在元模型中读取与组件A有逻辑驱动关系的组件集合和/或组件方法集合;
B2,在所述组件集合和/或组件方法集合中,依据所述事件类型查找与产生所述事件类型相对应的组件;
B3,从元模型中读取所述组件的元数据信息;
步骤S2中,与所述事件触发请求触发的事件类型相对应的组件的数量为1个或多个。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于克拉玛依红有软件有限责任公司,未经克拉玛依红有软件有限责任公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510289029.0/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种组件管理系统及组件管理方法
- 下一篇:一种基于移动平台的应用软件开发方法





