回调机制的实现机理
来源:互联网 发布:河北移动网络加速器 编辑:程序博客网 时间:2024/06/06 21:39
3、回调机制的实现机理
在介绍回调机制原理之前,先讨论一下“回调机制”与“回调”两个概念。前面提到的回调(callback)是MapInfo提供的一种向客户程序反馈消息的过程,单纯的理解它是单向的,即从后台到前台的过程。对于这种开发方式,单向且前台与后台没有交互的话,系统很难实现稍复杂的GIS操作。因而,出于系统考虑,本文将客户到后台、后台到客户以及两者交互的整个过程统称为“回调机制”,统称这种二次开发方式为“回调机制”的实现。
.NET的COM组件包装器wrapper封装的过程相当复杂,而且是在.NET内部实现的,要了解该过程的理论实现请参见[2]。在Visual Studio 2005中打开或新建一个工程后,打开“添加引用”在“COM”项中找到“MapInfo 8.0 OLE Automation Type Library”,单击“确定”之后,该COM组件就被加载到工程中了。另外,.NET会在工程文件中创建程序集文件“Interop.MapInfo.dll”(如图1,中上部方框),它是带有.NET包装器类的.NET程序集。打开“对象浏览器”找到该程序集就可以浏览其内部的类及相关接口。使用时,在相关程序文件中加载语句“Using MapInfo”(“MapInfo”是.NET所谓的“命名空间”,并不等于程序集名称)。
在本文所述的系统中,按照软件内部各部分之间的关系,进行了宏观上的抽象,大体可以分成三大部分:(如图1)客户组件、回调组件以及后台服务端组件。程序运行后,外在的窗体就相当于客户组件,它主要负责与用户交互,调出并显示后台MapInfo地图窗口显示地图,打开并链接数据库、属性数据处理等相关操作;所谓“后台服务端”组件,就相当于一个MapInfo服务器程序,抽象地说,它其实就做一项工作:接受外来指令并将处理后的结果返还客户程序;回调组件,已经不是上面所提到的COM对象引用(“Interop.MapInfo.dll”),在本系统中,它被二次封装,封装后的结果相当于一个纯.NET组件,即这里所指的“回调组件”(具体封装见文章第四部分),其作用主要是负责后台的启动、关闭、控制等等复杂操作,用来协调客户程序与后台程序的交互问题,这部分是系统成败的关键。
- 回调机制的实现机理
- C++机理:虚拟机制的实现[兼谈对比于传统机制]
- C++机理:虚拟机制的实现[兼谈对比于传统机制]
- boost的多线程实现机理
- 智能指针的实现机理
- ThreadLocal模式的实现机理
- 购物车实现的三种机理
- java proxy方法实现的机理
- 冒泡排序法的机理和实现
- (Struts2)XWork容器的实现机理
- OC中ARC的实现机理
- 关于垃圾回收的机制与机理之孤岛垃圾
- Windows运行机理——线程的机制(3)
- S4实现机理介绍
- S4实现机理介绍
- KVC 实现机理分析
- SEAndroid实现机理
- KVO的实现机理,随便解释一下isa-swizzling
- 如何用DELPHI获得文件的版本号科商盈工作室www.Csina.com.cn
- 最牛X的作文之高考篇
- 关于Java中方法调用时参数的传递
- ORACLE的几点学习经验
- mysql 的存储过程的例子
- 回调机制的实现机理
- 为Solaris服务器配置款安全的防火墙
- 基于.Net的mapinfo二次开发
- dataset导入excel的方法
- 中国标准之一 AVS:后来者成大器
- Commons-logging + Log4j 入门指南 - 樂Tiá∏ ` - CSDNBlog
- 推拉模式
- mysql 中动态显示列
- asp.net2.0文件上传和图片水印处理