读书人

现在学COM的必要性有多大_第二季? (高

发布时间: 2012-01-20 18:53:53 作者: rapoo

现在学COM的必要性有多大_第二季? (高分相送,不够再加)
在这个流行Web服务,MOM(面向消息的中间件),SOA的时期,还有学习COM的必要么?现在COM技术的使用一般都在什么方面,什么应用?最近脑子发热,想学COM,但不知道是否已成昨日黄花。大家都知道,COM真的有些难,掌握起来不易,俺可不想
到头来学了个屠龙之技,呵呵。望前辈们指教,多谢!

[解决办法]
我也是。。MARK
[解决办法]
COM技术很不错,目前确实还占有一定的地位。
但至于什么时候衰败,不好说啊。
本人目前的工作几乎每天都搞和COM有关的东西,当然我的目的是完成工作任务,至于使用的技术不是很在意,老板也不在意。
[解决办法]
写windows程序有皮球那么大
[解决办法]
看你自己的发展方向了,如果是用C++开发Windows平台的应用软件或插件,还是学一下为好,其他就没必要了
[解决办法]
你要用VC++,MFC,COM还是有必要的;不过,这个技术感觉快过时了,复杂;
可以学学C#,很容易就搞定COM需要成百上千行代码才能搞定的事
[解决办法]
Windows上面很多应用都是Com接口,而且在Com接口上也可以方便的进行二次开发,扩展,Explore,IE,Office,Windows Mail,...很多应用都需要Com接口相关技术,如果你有这方面的开发要求,还是可以好好学习一下的
[解决办法]
相当必要啊。
即使是B/S,有时也需要COM,比如客户端认证组件、网络传输加密组件、WEB打印组件...,离开了COM,B/S也会有它为难之处的。
[解决办法]
视你的程序员寿命有多长。如果你觉得你还能做10年以上的编码工作,那就学习COM去吧,否则别沾边,即使学个三五年也没人敢说精通COM。
把COM留给微软的那帮老家伙去搞吧,俺们用.NET轻轻松松做东西,赚钱不一定比他们少,嘿嘿
[解决办法]
mark 想学好COM不易。
对于技术而言,我相信底层决定上层。
比如学好了汇编,对于理解c/c++是非常有帮助的,比不懂汇编的人对问题的认识更深刻。
而学好COM对于理解Web等也是非常有帮助的。

另外我认为要想在技术领域中走的更远一些的话,必须精通底层的技术!
只有理解了底层的技术,你才永远不会被淘汰。

这是我想对自己说的话~~
[解决办法]
很大
[解决办法]
关注中
[解决办法]
了解一下
[解决办法]
very 重要
[解决办法]
com还是至少了解一些好
[解决办法]

探讨
Windows上面很多应用都是Com接口,而且在Com接口上也可以方便的进行二次开发,扩展,Explore,IE,Office,Windows Mail,...很多应用都需要Com接口相关技术,如果你有这方面的开发要求,还是可以好好学习一下的

[解决办法]
这要看你自己的发展方向啦~
[解决办法]
探讨
Windows上面很多应用都是Com接口,而且在Com接口上也可以方便的进行二次开发,扩展,Explore,IE,Office,Windows Mail,...很多应用都需要Com接口相关技术,如果你有这方面的开发要求,还是可以好好学习一下的

[解决办法]
这要结合你的爱好和发展方向来说啊!
[解决办法]
了解一下这些底层技术可以加深对技术本身的理解
[解决办法]
不太懂,但是想学!
[解决办法]
一.组件
COM,即组件对象模型是微软公司为了更加符合人的行为方式开发的。

在COM下,人们可以开发出功能专一的组件,将它们组合起来,构成复杂的应用系统

好处:1. 将系统中的组件用新的替换掉,以便随时进行系统的升级和定制(//360下载安全补丁)。

   2. 可以在多个应用系统中重复利用同一个组件;COM与语言,平台无关,所有的程序员均可充分    用自己擅长的语言写组件模块。

COM是开发软件组件的一种方法。

组件:实际上是一些小的二进制可执行程序。

开发自定义的COM组件就如同开发动态的,面向对象的API。

多个COM对象可以连接起来。并且组件可以在运行时刻,在不被重新链接或编译应用程序的情况下,被卸下或替换掉。



Microsoft的许多技术,如ActiveX, DirectX以及OLE等都是基于COM。用COM组件来定制应用程序。

COM并不是一个大的API,它实际上象面向对象编程方法那样,也是一种编程方法。

没有组件:

生成应用程序之后,在对下一个版本重新编译并发行新生成的版本之前,应用程序一般不会发生任何变化。必须等到整个应用程序被重新生成。

使用组件:
此时的应用程序可以随新组件不断取代旧的组件而渐趋完善。

1)传统的做法是将应用程序分割成文件,模块或类,然后将它们编译并链接成一个单模应用程序。

2)它与组件建立应用程序的过程(称为组件构架)有很大的不同。一个组件同一个应用程序类似,即都是已经编译链接好并可以使用的二进制代码。

单模应用程序只有一个二进制代码模块。自定义组件可以在运行时刻同其他的组件连接起来以构成某个应用程序。在需要对应用程序进行修改或改进时,只需要将构成此应用程序的组件中的某个用新的版本替换掉即可。

COM,即组件对象模型,是关于如何建立组件以及如何通过组件建立应用程序的一个规范,说明了如何可动态交替更新组件。


使用组件的优点:
组件架构的一个优点就是应用可以随时间的流逝而发展进化。除此之外,使用组件还有一些可以使对以有应用的升级更加方便和灵活的优点,如应用的定制,组件库以及分布式组件等。
使用组件的种种优点直接来源于可以将它们动态的插入或卸出应用。

两个条件:第一,组件必须动态链接;第二,它们必须隐藏(或封装)其内部实现细节。


二.接口
对于COM来讲,接口是一个包含一个函数指针数组的内存结构。每一个数组元素包含的是一个由组件所实现的函数地址。


对于客户来说,一个组件就是一个接口集。


这个接口就是IUnknown。

所有的COM都要继承IUnknown。


[解决办法]
表示强烈的关注。
[解决办法]
罢了罢了,算了算了吧。建议不要耗时了。
[解决办法]
如果工作用不到还是不要学了,太深。
[解决办法]
感觉会用就行了,至于技术深度 就不需要了,作为一个技术员,最好什么都了解下,可以不需要深,但是一定要了解点东西,现在都需要全才啊,专才就进大公司吧。
[解决办法]
关注!这个话题有经验的大牛们多指点一下.
[解决办法]
觉得没有必要学。
[解决办法]
基础还是要学的,哈哈
[解决办法]
mark
[解决办法]
看完楼上的,很有学的必要

[解决办法]
然而仍然存在一些技术方面的原因。尽管MSIL是平台中立,但 .NET框架类库的某些部分并非平台中立。例如企业服务(Enterprise Services)支持可伸缩、面向事务(transaction- oriented)的应用程序,而它乃是根植于名为COM+ 的早先的Windows技术。因此这一部分只能运行于COM+ 存在的地方。另外一部分类库也明显或多或少地泄漏了它的Windows血统。

引自: 书名:.NET大局观( 第2版)

//-----------------
看做什么开发了,如果用不上,当个玩就行了.
[解决办法]
现在的浏览器插件很多还是COM的
[解决办法]
支持下
[解决办法]
顶一下
[解决办法]

探讨
COM技术很不错,目前确实还占有一定的地位。
但至于什么时候衰败,不好说啊。
本人目前的工作几乎每天都搞和COM有关的东西,当然我的目的是完成工作任务,至于使用的技术不是很在意,老板也不在意。

[解决办法]
如果你不是研究人员,了解、会使用就够了。开发,如果你视它为你的研究方向。
[解决办法]
对于VC++程序员来说,中间件不用COM真不知道这日子怎么过,还有,做过COM+都知道这东西的优点,不知道为什么现在不象以前那么得宠了。
学习C++就是为了它的效率和解决问题的能力,如果仅仅为了应付管理类项目,不要说COM,C++都不要学了,都能应付的来。
[解决办法]
COM是非常底层的东西,学习COM能促进你对组件思想的理解,当然自己也就可以做相关组件开发。但如果开发中没有涉及COM编程,不学也不会耽误程序开发,毕竟COM知识是难以掌握的而且.net代替COM也是一种趋势。
[解决办法]
一不懂的菜鸟表示认真关注
[解决办法]
简单说 ,如果你要控制客户端的一些设备,通常需要。比如,客户端的打印机、视频卡之类的。

如果,只是做纯的web软件问题不大。
------解决方案--------------------


.
[解决办法]
学习
[解决办法]
COM也不是非得用c++做,vb也可以做的。
以前学COM,先看潘爱民的书,很吃力,后来看微软出版的《COM编程内幕》(Inside COM),很容易理解,回过头再看潘爱民的书,才觉得有收获
微软的Enterprise Library,我觉得主要是考虑到向后兼容的问题。因为COM的资源很多,微软不可能都扔掉。
COM不是毫无用处,但总体上说,从发展趋势来看,它的应用范围只会缩小,不会扩大。

[解决办法]

探讨
COM是非常底层的东西,学习COM能促进你对组件思想的理解,当然自己也就可以做相关组件开发。但如果开发中没有涉及COM编程,不学也不会耽误程序开发,毕竟COM知识是难以掌握的而且.net代替COM也是一种趋势。

[解决办法]
mark
[解决办法]
我觉得学习COM必要,不过我一般是用别人的COM,而不是自己写,
努力呀!
[解决办法]
COM现在来说,实际应用已经逐渐日落西山了,主要价值在于学习其思想,这个基础太重要了
[解决办法]
这些发表意见的人,都学过COM吗,可不要忽悠我们这些菜鸟。
[解决办法]
继续mark
[解决办法]
1 回答的没有第一季好哦,
[解决办法]
正准备着手去学呢
COM技术才是微软的精华所在

《COM编程内幕》一开始就说得很明白,编程就好比搭积木,微软做好很多先成的积木,普通的程序员只要一个一个搭就可以了,如果你掌握了COM技术,那你就能随时做出自己想要的形状积木块,底层的东西多掌握是好的,对理解上层的东西都很有帮助,不过性价比可能没有.net高
[解决办法]
很有必要!
[解决办法]
C#一样可以写COM规范的组件
不过,就是COM弄起来还是比较累,当然有他的好处,看LZ自己的方向了
[解决办法]
俺只是入了一下门,然后COM就没有再继续学习了~~
[解决办法]
第二季?
[解决办法]
太难了,没必要!软件关键是要有内容.
[解决办法]
表示强烈的关注。
[解决办法]
我做OPC,必须用COM
[解决办法]
很有用
[解决办法]
我在编程时用WebBrowser控件,控件必须COM,所以COM很重要。
[解决办法]
还有,最近去书店,发现潘爱民的那本发黄的《COM原理与应用》又再次印刷出版啦,看来最近市场需要这个东西。
[解决办法]
COM/COM+被变成底层的东西了, 以前看 <<.NET大局观>>的时候(侯捷译的) 看到的,

至少一段时间内, COM+等的还是要发挥很大作用的, 除非不向下兼容,并且MS重写底层.
[解决办法]
up
[解决办法]
com是不会没落的.

读书人网 >VC/MFC

热点推荐