• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >vc/mfc > COM是什么

COM是什么

作者:佚名 字体:[增加 减小] 来源:互联网 时间:2017-06-04

佚名通过本文主要向大家介绍了com是什么意思,com是什么接口,cn是什么,com,域名等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
问题: COM 是什么
描述:


使用 COM(Component Object Model)组件规范来构建软件是很有益处的。按照功能或其他标准将软件分为不同的组成部分,每个子部分通过 COM 组件来构建。当需要替换或升级软件时,不必让用户停下来等待,也不需要强制程序员加班改写全部程序,因为也不必一次替换掉整个软件。对于一个由多个 COM 组件构造的软件,它可以在软件运行的时候被卸下并替换某一部分。不需要重新编译、链接程序。像换积木块一样。使用 COM 组件的优点直接来源于可以动态地将它插入或卸出应用。它的这些优点在于两个方面:动态链接,约定的接口。
COM 利用 DLL 来给组件提供动态链接的能力。动态链接达成了 COM 组件的最终目标和最大威力:在软件运行过程中,动态地替换或卸载构成软件的子模块。如果不能这样,改变软件的途径就是重新编译、链接,并替换整个软件。在某些情况下,重新编译、链接对于最终用户来说几乎是不可能的。DLL 是 COM 的发布方式,但 DLL 不是 COM 的全部。组件是在 DLL 中实现的接口集。DLL 只是形式,COM 才是实质。
接口不是一个神秘的词语。它在 COM 和接口这些词语被抱怨太复杂(甚至有人用接口名IUNKNOWN做为车牌并有一个绰号叫COM神)之前就已被很好的理解。COM 中的接口也涉及到函数--这个并不陌生。COM、接口同样会很快变得如此那般的通常。其实,事实亦是如此。COM 组件实现了某些预定的逻辑功能,它通过接口向外部提供对这些功能的调用。多个相关的 COM 组件之间存在这样的互相调用关系,并因此形成了一个功能更丰富的软件。关键的地方就在于构成软件的多个组件之间的互相调用。当其中的某个组件被替换掉,即使不能对软件的功能有所增强,软件的原有功能至少应该得到保证。即新添加进来的组件应能够被调用,并需要像原来那样调用其它的组件。相互之间的调用、被调用都应得到保证。接口就是相互之间的关系、约定。在 COM 中需要保证原有的接口、及调用关系。在现实生活中,要信守约定的承诺。
这就是 COM。接下来需要逐步进入 COM 的内部,了解存在一件伟大的事物后面,那些支撑着它的琐碎的细节。


解决方案1:

dll是com的形式,好!可是怎么来用com呀,我不会

解决方案2:

????
兄弟到底要干什么?
COM无非是一种规范而已,没什么神秘。它要实现对客户透明,不让客户了解细节,只给客户一组接口。它是二进制级的。假如C++的类就不能让VB来用了,但是做成COM的话就可以调用了,呵呵。
COM中有很多技术可以学的,比如SmartPointer,类厂,引用计数等等。
现在给COM下个定义:当COM不是COM的时候,COM才是COM!(谢谢,大家不要打我脸)

解决方案3:

····


分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • 到底com是什么
  • 请问有谁用过ECOM串口助手吗?支持XMODEM协议的
  • com和com+是什么关系?
  • com是这样的吗?
  • com是厉害,但是
  • Com好是好,我却???
  • //如何用COM+封装数据库的表项?
  • COM是什么
  • 什么是COM+
  • COM是这样的吗,我又来了!

相关文章

  • 2017-06-05 如何节省线程占用的系统资源
  • 2017-06-05 毕业论文与DLL
  • 2017-06-04 ActiveX封装了一个带有文档视图结构的程序,在测试程序中调用的时候,可以不显示主框架CMainFrame,而只显示CView派生类吗??
  • 2017-06-05 线程中怎样调用外面的变量。
  • 2017-06-04 在MFC里面采用ADO方式操作数据库
  • 2017-06-05 进程外Com组件实现
  • 2017-06-05 BHO得到要下载文件的URL的问题
  • 2017-06-05 怎么继承DLL中的控件类?
  • 2017-06-04 一个不错的系统工具源码MadCollection,适合学习
  • 2017-06-04 在VC中用MAPX如何进行地址查找?

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • 请问一个应用程序分离打包成cab文件
    • 知道了进程ID如何获得主线程ID
    • 如何获取Activex的背景图片?
    • ATL的一个入门问题,路过的请指教
    • 小鸟太菜,还请大家指导,问点COM+的基本知识。
    • 如何让windows知道abc文件由ABCexe打开?
    • 如何实现MFC里面InsertActiveXControls对话框
    • 在VC++使用Windowsmediaplayer组件如何获得影片的播放时间
    • altclass中怎么显示对话框?
    • 初学COM,问个关于智能指针的问题(在线等ing)

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有