关于ArcEngine中的Inbound 和outbound interface区别

关于ArcEngine中的Inbound 和outbound interface区别
        在arcengine的对象模型图学习时遇到一个 Inbound 和outbound interface区别的问题,对此进行了一定的认识,希望能够抛砖引玉:
    遇到这个问题,多半是没有学习过com编程的人,如需深入学习,请学习c++的com 方面的知识!

具体区别如下:

         COM所建立的是一个软件模块与另一个软件模块之间的链接, 当这种链接建立之后, 模块之间就可以通过被称之为Interface“接口 ”的机制来进行通信。在绝大部分情况下, 客户应用程序与组件的通信过程是单向的, 客户创建组件对象, 然后客户通过接口调用对象所提供的功能, 在适当的时候再把对象释放掉。在这种交互过程中, 客户总是主动的, 而组件总是处于被动状态, 通过自身暴露给客户的接口监听客户的请求, 一旦接收到客户的请求便做出反应。这样的接口称为入接口incoming interface,对于一个全面交互过程来说, 这样的单向通信往往是不能满足实际的需要, 组件对象也要主动与客户进行通信, 因此, 与入接口相对应, 对象也可以提供出接口outgoing interface 也叫回调接口 , 对象通过这些出接口与客户进行通信。之所以把这些接口称为出接口, 其原因在于这些接口并不由 COM服务器端的对象实现, 而是由客户程序来实现, 客户实现这些接口, 并把接口指针通过一定的手段传给 服务器, 以后 服务器端就利用此接口指针与客户进行通信, 服务器端调用此接口的成员函数, 即调用了客户自定义的函数, 这时组件对象变成了客户端的客户, 可见在 com规范中, com组件对象提供服务客户调用服务, 这种对象与客户之间的关系是相对的。

如果,哪位读者有更好的理解,大家一起分享!


评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值