描述:
windows编程曾经有过一个“COM组件”时代,似乎非常辉煌过,现在据说被隐藏在.net framework背后去了。现在市面上关于COM这个技术的资料不多,有价值的只有几本而已;但是直到xp,windows提供的大量shell编程技术都是基于COM的(听说win7也没有太大的变化?),那一堆基于shell,wscripte的组件技术更是资料稀少,网上完全没有成系统的东西,只有零散的碎片可以参考……而我错过了那个时代,虽然现在的编程领域有很多方便的工具可以使用,但是做桌面client的一旦要弄点更深入的东西,好像还是不得不去和COM组件打交道,但是这种零散的碎片让我参考起来很头疼,于是来求看能否找到更完整的资料体系,不要说MSDN……
另外一个问题,据说.net framework在微软内部有另外一个代号叫COM3.0,那么从COM到COM+一直到.net,COM技术是如何迅速崛起然后又因为什么迅速的“衰落”,然后转身变成了net framework的后台去了,这中间发生过什么,有讲这个的书或资料吗
解决方案1:
我有种不好感觉就是不知道怎么的IT软件开发变得越来越像忽悠的行业了。
按正常逻辑就是客户的理想是不想“重复投资”,而软件公司的想法是尽
可能在原由产品基础上做修改以适应客户的需要。其实大家的理想在这点
上是一致的,现在的新技术其实只不过是新瓶装旧酒罢了。软件公司另外
一个目的是利益最大化,于是在某些因素的推动下不断地鼓吹某某技术比
某某技术多好多好,当然在利益的驱使下跟风的到有不少。其实做过软件
开发都知道,现在其实已经有很多成熟的技术完全可以满足客户需求的。
但是我们确不断的去贬低我们过去自豪的技术,不断地鼓吹新出的某某技
术有多好多好,呵呵估计他们现在鼓吹的技术再过几年他们又去不断地贬低
这个技术上多么的垃圾。我有时候都怀疑:我们的开发思想都一直进步的?
COM注定不会衰落的,这只是某些为了达到某种目的的鼓吹者或者是那些不懂COM技术本质的人,
人云亦云罢了。无论微软怎么样去更新其操作系统,终究不会放弃COM技术的。只要大家去看
注册表就明白了,微软的系统平台更新了好几代了,大家找找注册表下有关的COM组件的注册
目录没有减小反而不断的增大就知道,为什么COM不会消失了。COM是一个技术框架,该框架
完全可以移植到其他平台,可惜的是竞争的关系,使得微软对这项技术采取了保守的策略。
如果是真正懂得COM的人,其实实现另外一套类似COM机制的东西,使用它可以多个平台使用
相同的组件,因为组件是静态的代码,创建组件的引出接口是可以多种形式存在的。所以如果
开发的组件的实现不依赖于操作系统的API而是中立库,这种组件完全可以移植的。而且在别
的平台下组件完全可以以二进制可执行代码存在,其中的优势是以平台关的JAVA代码无法比拟的。
根据我的理解,最开始,微软为了实现不同应用软件之前的交互,实现了 DDE;
后来,改进之后称为 OLE;
再后来,发现 OLE 的本质是面向接口,于是放弃 OLE,提出 COM;
到了 web 大行其道的时候,改进之后称为 ActiveX;...