com技术内幕--读书笔记(1)

来源:互联网 发布:英烈千秋 知乎 编辑:程序博客网 时间:2024/05/26 09:56

写在前面的话

《com技术内幕》这本书断断续续看了一段时间,但是还没有看完,为了督促自己看完,以后每看一章就写一下读书笔记。

以后的读书笔记的代码都是在windows下用gvim+vc6.0的编译工具进行编辑和编译的,在gvim的_vimrc文件结尾,添加设置如下

set tabstop=4
syntax on
set nu
set cindent
colorscheme torte

目前暂时添加这些,以后随着需要会继续添加


前言

本书的前12章并没有使用微软的基础类库MFC,所有的示例代码都可以从命令行进行编译,一些较复杂的例子,作者写了makefile。命名规则借鉴MFC和匈牙利命名法

第一章 组件

传统的编写程序做法是将应用程序分割成文件、模块和类,然后将它们编译并链接成一个铁板一块状的应用程序。而用组件建立应用程序的过程则有很大的不同,一个组件同一个微型应用程序类似,都是已经编译、链接好并可以使用的了,应用程序就是由多个这样的组件打包而得到的,各个组件同其他组件连接起来构成某个应用程序,在需要对应用程序进行修改或者改进时,只需讲构成应用程序的某个组件用新版本代替即可。

组件必须满足两个条件,1.组件必须动态链接,2.组件必须隐藏(或封装)其内部实现细节。


COM,即组件对象模型,是关于如何建立组件以及如何通过组件建构应用程序的一个规范。遵循com规范编写的组件能够满足对组件架构的所有要求,它能够满足对组件的限制条件:

1.COM组件是完全与语言无关的。

2.COM组件以二进制的形式发布(dll或者exe)。

3.COM组件可以在不妨碍老版本的客户程序情况下发布。

4.COM组件可以在网络上被重新分配位置。对远程机器上的组件同本地机器上的组件的使用方式没有什么差别。

COM最值得称道的地方时我们可以讲它作为一种编写程序的方法,可以在任何操作系统上使用任何编程语言按COM风格进行编程。


编写好了COM组件,怎样按照统一的方式使用它呢,COM库帮我们解决了这个问题。

COM具有一个被称作COM库(COM Library)的win32 API,它提供了非常有用的组件管理服务,COM库可以保证对所有组件的使用按照相同的方式完成。