请教,在.net中,COM到底还有什么用?



1楼

你在.net开发中会用到很多COM组件  
  sqldmo,owc11,excel和word的相关操作等,  
   
  我最初知道MFC大概是在1993年,那个时候Visual   C++还没面世,当时Microsoft的C++编译器还很弱,官方的名字是Microsoft   C/C++   7.0,MFC的版本是1.0,几乎没有引起什么反响,那个时期最好的C++开发环境是Borland   C++   3.1,其实,大概是1992年11月份,一个偶然的机会,我领略到Borland公司的厉害,记不得在什么地方,我看到一个绝妙的集成开发环境,即Turbo   C++   3.0   for   Windows,这是我记忆中第一个真正的Windows环境下的C++集成开发环境,那种激动的感觉至今仍记忆犹新,不客气的说,当时至少在C++方面,Microsoft与Borland不是一个水平的,Borland明显的要高于Microsoft   ,Borland的产品在技术上给我留下深刻的印象。那个时候Microsoft最好的开发平台是Visual   Basic   3.0,而Borland的Delphi正处于开发阶段(Delphi   的代码名称是:“VB   Killer”)……,想起这些十几年前的往事,我不禁感慨万千。  
   
    十几年来,我用过许多开发环境,关于Visual   Basic,我用过最早的DOS版本,Windows版的Visual   Basic我基本上全都用过,至今我还记得每个版本的VB安装盘磁盘的盘数。同样,我用过各个版本的Delphi,特别是Delphi   2.0,给我留下极好的印象。Delphi提供真正编译的可视化开发环境,那个时候(1994年左右),Delphi就可以开发带有GUI的动态链接库,你可以想象,在Microsoft   Access   2.0的应用程序中可以加载一个Delphi   Form并进行程序交互,那种感觉真是棒极了。  
   
    Borland   C++是我心中无法抹掉的遗憾,从Turbo   C到C++   Builder,我深刻的体验到Borland的辉煌和无奈,Delphi从VB   Killer走到为VB护航(你可以想象Delphi一步到位的ActiveX   控件开发技术有多牛,早期的VB有多土,早期的VB不能开发动态链接库,因此无法开发ActiveX   控件,想起来真令人嘘唏不已),Borland   C++的命运也是不济。Borland   C++   3.1的辉煌永远不再了,十几年的开发工作中,我在C++上投入了大量的精力,Borland   C++曾经给我带来无数的激动,然而这个经典的名字却在与Microsoft的竞争中渐渐的流逝了……。  
   
    MFC4.0的出现,使得人们感觉Microsoft在C++方面赶上来了,这一版的MFC是Win95推出后出现在Visual   C++   4中(Microsoft没有VC   3,VC4以前的版本是2.2、2.1、2.0、1.51、1.5、1.0)。也许是对Borland   C++的潜意识的失望,我不知不觉的接受了MFC,VC   4.2推出时,我通过正常渠道购买了这个编译器的企业版。  
   
    二、关于Microsoft  
   
    关于Microsoft,有无数的人要对这个名字叙说感觉,这个令人讨厌的名字!不知道是喜欢还是憎恶,你是程序员,你的心思可能就要因Microsoft的存在而动,即使你用Linux,你可能也是因为Microsoft技术因素。多少年来,这个名字每天都出现在你、我、他的面前,因为你不得不面对Windows的存在,可是你憎恨这个名字吗?你讨厌这个名字吗?我不知道是否已经对这个名字麻木了。  
   
    1998年我个人订了Microsoft   MSDN   Universal   版,我开始比较全面接触这个公司的开发技术,你可以想象,1998年当你面对上百张技术光盘的时候,你就知道什么叫做“厚度”,当我们有时说出“赶上”或   “达到”Microsoft某些产品的水平的时候,可能我们缺乏对这个公司“厚度”的真实了解。进入MSDN,我感觉Microsoft简直不是一个“公司”,而是(或者正在形成)一个“社会”。  
   
    当时著名的技术网站http://www.codeguru.com全部的技术资料是可下载的(那个时候http://www.codeguru.com提供整个网站内容下载服务,大约3M左右),大名鼎鼎的www.codeproject.com还不存在。一开始,我始终潜意识在技术上对比Microsoft与Borland,应当说技术上Borland不比Microsoft弱,即使现在也有人持有这个看法,可是为什么Borland走到今天这个地步?而Microsoft却如日中天?若干年前,这两个公司竞争何等激烈,而现在却是另一番“合作”的景象?可能很多人想过,如果Borland不存在,对Microsoft不是更有力吗?其实Microsoft可能精通中国历史,读过《三国》、十分了解战国时期的中国,其实Borland形式上的存在,对Microsoft是十分有利的,至少形式上还有竞争对手,而事实上Borland已经受控于Microsoft(Microsoft是Borland的大股东)。你可以看到一些微妙的现象:Borland为Microsoft提供了大量的人才,其中包括Delphi总设计师以及Borland   C++编译器的核心成员;同时也为Microsoft   .NET提供强有力的护航服务(看看C#   Builder、Delphi   .NET)。1998年Microsoft   的COM技术基本已经成熟,这个技术使人感到震撼,当时Microsoft的对手们提出“OpenDoc”用于对抗“COM”,你看看“OpenDoc”阵营的几个成员:IBM、Apple、Borland、Novell,你会感到这个阵营十分豪华、强大。但结果却差强人意,“OpenDoc”无疾而终,而“COM”依然生机勃勃。  
   
    有人说“COM”没落了,那么就太不了解Microsoft了。在与“OpenDoc”的竞争中,“COM”是个彻底的胜利者,在与“Java”的竞争中,“COM”成功的进化了,在这个过程中Microsoft体现了强大的吸收能力、以及无法想象的韧劲。.NET只不过是COM的“别名”而已。对于一个经验丰富的C++程序员而言,.NET就是COM的进化,而Microsoft内部.NET就是“COM   3.0”(OLE2就是COM   2.0),而“CLR”就是一个不择不扣的COM对象。曾经有人问我,既然牛顿时代就奠定了基础(想想著名的牛顿-莱布尼茨公式),几百年后的今天,数学还研究“微积分”吗?回答当然是依然在研究!“微积分”早期是针对函数的,现代“微积分”是针对“流形(Manifold)、纤维丛(Fiber   Bundle)”的,概念深奥了,可是基本思想不变,只是“微积分”的思想得到合理的延拓与进化,你了解Microsoft吗?Microsoft   Research有一批超一流的数学家在为Microsoft工作,其中一些是斐尔兹奖的得主,Microsoft正在实现如同“微积分”进化到“微分流形”一样将“COM”进化到“.NET”。从科学概念角度上分析COM与Java,可能COM更全面、精确,从实现的成熟度上Java可能更成熟,可是你看到,Microsoft正在不紧不慢的追赶。Microsoft令人联想起战国时期的强秦。  
   
    战国时期的秦国,采取“远交近攻”“抚弱掠强”等措施傲视六国,今天的Microsoft也是这样,VB1.0时,Microsoft推出“VBX”控件技术,众多的小公司得以生存,Microsoft自己不开发“VBX”组件,同样“VBX”进化为“OCX”时,Microsoft并不十分强大,可是这种试探得到众多小公司的响应。1997年Microsoft   Office   97、1998年Microsoft推出Visual   Studio   6.0,给众多中、小公司提供了生存、发展的机会,例如Microsoft   Office   97中集成了Visual   Basic   for   Application   5.0,这项技术使得几百家软件开发商与Microsoft签署了VBA技术许可协议,即使AutoDesk这样的公司都与Microsoft签署了这个协议,这个协议使得每个集成VBA的产品的给个用户许可为Microsoft付40$的许可费,如果你了解VSIP(Visual   Studio   Integration   Protocol)协议,以及有多少公司签订了VSIP协议,你就真正感觉到Microsoft的可怕;Microsoft   Office   97、Visual   Studio   6.0的用户界面十分漂亮,为什么Microsoft自己的开发工具不提供类似的软件组件?你看到众多第三方的Microsoft盟友纷纷推出自己的界面库以模仿Microsoft,他们不会反对Microsoft,因为他们已经形成了使得Microsoft以及这些公司得以生存的生态圈。  
   
    Microsoft的技术储备有多少,Microsoft之外的人很难说清楚,Microsoft中国公司也未必了解多少,1999年WTL类库刚刚出现的时候,人们就希望WTL能得到官方的支持,或授权给一个Microsoft之外的一个公司(你能想象出Borland   C++   5.0内置的ActiveX开发机制是基于Microsoft   ATL类库吗?),直到今天,WTL依然如故,我们完全相信,如果Microsoft强力推广WTL,WTL完全可以流行,可是Microsoft不缺类似的技术,类似的类库还有BCL(Base   Control   Library,一个用于开发轻量级ActiveX控件的类库),Microsoft还有一个基于ATL的类库,这个类库用于开发ActiveX   Designer,ActiveX   Designer是绝大多数程序员不了解的一类对象,如果你熟悉Office开发,你知道Office   VBA   中有一类对象,即Form2,此外VB6.0   中的报表设计器(以及著名的Active   Reporter),都属于此类对象,用这个类库,你可以为VB6.0以及集成VBA的系统提供定制化的可视化设计机制等等,如今ActiveX   Designer已经演化为集成于Visual   Studio   .NET中的设计器。  
   
 

2楼

Vs   2003开发环境本身就是基于com的

3楼

谢谢各位的回复,  
  那么在.net中开发出来的COM还有用吗?

4楼

會有用的.

5楼

看了   kaixin110   贴的东西,受益不少^_^

6楼

1.重用COM  
  2.朋友你是否用过sqldmo,如果你没有用过,  
  如果你用.net自己做一个数据库相关的备份很复杂或者处理数据库相关的操作等会很复杂等  
  如果你用上COM组件,会感觉到很简单‘  
  3。我们不能否认过去,不能只看java或者.net等高级语言,  
  4。计算机原理和数据结构以及算法是有必要学习的  
  5。这正如李开复所说  
   
  详情请看  
  http://www.kaifulee.com  
   
   
 

7楼

.net和Windows的一部分都是COM做的,很多低层的东西就是COM做的,它提供接口给你使用  
  只是有了.net之后很多工作不用COM也可以作了,只能说用得少了:当时COM没有普及我认为  
  是难度大门槛太高了而已!我也学过一年多的COM-DCOM

8楼

厉害   !

9楼

学习……

10楼

kaixin110()的见解很深刻!
 
CSDN国最大的程序员社区和技术资源分享平台,提供了众多的技术文章、教程和资源下载。CSDN上有许多与.net相关的技术内容,因此安装下载CSDN上的.net资源非常有必要。 首先,我们需要访问CSDN官网(www.csdn.net),在主页的搜索框输入关键字".net",然后点击搜索按钮。系统会自动显示与.net相关的技术资源和相关文章。 如果我们想要下载某个特定的资源,比如.net框架的最新版本,我们可以在搜索结果找到相应的下载链接。点击链接后,系统会提示我们进行登录。如果没有账号,需要点击注册按钮创建一个CSDN账号,填写相关信息并进行验证。 完成登录之后,我们会被带到资源下载的页面。在页面上,会有详细的资源信息,包括资源的名称、版本、大小等。我们可以选择下载资源到本地电脑上,或者将资源链接保存到电脑稍后进行下载。 在下载资源的过程,我们需要耐心等待下载完成。下载完成后,可以在本地的下载文件夹找到我们刚刚下载的资源。根据资源的类型,可能需要进行相应的安装步骤,如安装.net框架需要双击下载的安装包进行安装。 通过以上步骤,我们就可以在CSDN上安装下载.net相关的资源。在CSDN上,我们不仅可以获取到丰富的.net技术文章和资源,还可以互动交流,向其他技术专家请教问题,拓宽自己的技术视野。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值