一.组件 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。 |
|
来自: Sophia_Study > 《/基本概念》