引:
潘的第一章写的很流畅,思路清晰,站在初学者的角度,至少看起来是这样的。
从文字里能看出他参考了一些MSDN的东西,但不仅仅是简单的翻译,加入了自己的理解。
------------
要点:
------------
1. 有几个重要的概念,区分的很清晰。
如组件软件与软件组件,只要将注意力集中在每个词的关键字上就很容易区分了。
另如COM组件,COM对象,COM接口:
COM组件可理解为一个大的包涵体,提供了对外服务的COM接口和对内COM对象的支持。
COM对象则是一个任劳任怨的好劳力,默默提供服务。
COM接口则轻松的完成外联工作,将COM对象的服务提供给客户。
三者的包含关系是:一个组件程序可包含多个COM对象,而且每个COM对象可以实现多个COM接口,即提供多项服务。
2. 下面讲到的是上述概念的实现。
首先是COM接口,由一个128位的全局唯一标示符(GUID)标示,在概率意义上,是全球范围唯一的。
某个COM对象的接口可以自由增加以适应客户业务需求的变更。
而且根据COM规范,客户可以从一个COM对象的接口得到该对象的其他任意接口。
客户通过GUID获得COM接口指针,从而调用其相应的成员函数。
而此是COM对象,也由一个128位GUID来标示,称为CLSID。同样保证其全球唯一性。
3. COM库
为COM组件提供系统级的核心服务,在操作系统级实现。对外提供了相应的API,使COM服务提供者更好的编写COM对象的服务。
4. COM特性
语言无关性;进程透明性;可重用性;
-------------------------------------------------------------------------------------------
------------
其他一些问题:
------------
1.OLE似乎是以COM技术为其底层实现机制的?
2.COM对象的重用。包容方式;聚合方式。
3.OLE将重点集中在“数据交换”和“界面交互”,这两个词用得很舒服,贴心。
4.在windows平台下,COM成了系统的基本软件模型,一些核心操作系统功能以COM形式提供出来,如
DirectX,RDO,DAO,Internet Client SDK,MAPI。
5.COM与数据库。基于COM的OLE DB和ADO。
浙公网安备 33010602011771号