COM初探

COM是一个更好的C++

1.如何把一个类做成可重用的二进制组件:

a. 以动态链接库(dll)的形式来发布这个类,以便从物理上把这个类的包装与客户的包装脱离开来

b. 使用接口和实现的概念,把数据类型的实现细节封装到二进制防火墙后面,使得对象的布局结构随时间二进化,但无需要求客户重新编译

c. 在采用抽象基类作为定义接口的方法之后,这道防火墙便以vptr和vtbl的形式出现了。

d. 使用Loadlibrary和GetProcAddress,在运行时动态地选择同一接口的不同实现(呈现了运行时的多态)

e. 使用与RTTI类似的结构,在运行时动态的询问对象,以确定对象实际上是否实现了指定的接口

这种结构使我们能够扩充接口的现有版本,并且也可以从单个对象暴露多个不相关的接口。

简而言之,我们刚刚设计了组件对象模型(COM,Component Object Model)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值