- 浏览: 30741 次
最新评论
面向过程的编程重用函数、面向对象的编程重用类、范型编程重用的是算法的源代码,而组件编程则重用特定功能完整的程序模块。
每个组件会提供一些标准且简单的应用接口,允许使用者设置和调整参数和属性。用户可以将不同来源的多个组件有机地结合在一起,快速构成一个符合实际需要(而且价格相对低廉)的复杂(大型)应用程序。
组件区别于一般软件的主要特点,是其重用性(公用/通用)、可定制性(设置参数和属性)、自包容性(模块相对独立,功能相对完整)和互操作性(多个组件可协同工作)。可以简单方便地利用可视化工具来实现组件的集成,也是组件技术一个重要优点。
普通的面向过程和面向对象的编程,一般会生成两种类型的软件--针对特定应用的可执行程序和面向通用编程的API库。前者包含你需要的各种特殊的具体功能,但必须从头到尾自己来创建,其中很多是低层次的重复劳动;后者虽然通用,但是却不能满足你的具体应用的特殊需要。
组件技术提供了第三种途径,它将库的可重用性与特定程序的可定制性结合起来,让用户可以用可重用的组件来定制自己特定的应用程序。所以组件在某些方面类似于"可执行程序",在另一些方面又类似于"库"。
采用MFC编程,可选的项目类型为:MFC应用程序、MFC DLL和MFC ActiveX控件,刚好对应于上面所讨论的可执行程序、库和组件这三类软件。 使用组件来构造应用程序的工作(组件集成)非常简单,不需要专业程序员,普通用户就可以很快做到。但是设计和创建组件(组件编写)的工作却十分复杂,只有高水平的程序员才有可能完成。这也是为什么VB和Delphi会如此流行的真正理由(组件功能强大,编写又非常简单),同样也是ATL和EJB等(创建组件)编程少有人问津的原因。 COM(Component Object Model,组件对象模型)是微软公司于1993年提出的一种组件技术,是软件对象组件之间相互通信的一种方式和规范,它是一种平台无关、语言中立、位置透明、支持网络的中间件技术。
COM是OLE(Object Linking and Embedding,对象链接和嵌入)的发展(而OLE又是DLL [Dynamic Link Libraries,动态链接库]的发展),DCOM(Distributed COM分布式COM,1996年)和COM+(DCOM+管理,1999年)则是COM的发展。ActiveX控件是COM的具体应用(如VBX和DirectX都是基于ActiveX的)。ATL(Active Template Library活动模板库)是开发COM的主要工具,也可以用MFC来直接开发COM,但是非常复杂。
作为组件技术的进一步发展,微软公司又于2002年推出了.NET框架,其中的核心技术就是用来代替COM组件功能的CLR(Common Language Runtime公共语言运行库),可采用各种编程语言,利用托管代码来访问(例如C#、VB、MC++),使用的是.NET的框架类库FCL(Framework Class Library)。
微软公司的各种组件技术之间的关系与发展可以参见下图:
ATL / MFC FCL / C#、VB、MC++、C++/CLI
↓开发 ↓开发
1981 1991 1993 1996 1999 2002
DLL-→OLE-→COM-→DCOM-→COM+-→.NET-→……
↓应用 ↓应用 ↓应用
VBX-→ActiveX-→DirectX ASP.NET/ADO.NET/ Web服务
替换 应用 分布式计算
本地 网络 Web
微软组件技术之间的关系与发展示意图
发表评论
-
javascript特殊运算符
2014-01-02 17:45 556in运算符 -
python中if __name__ == '__main__': 的解析
2014-01-02 17:44 373当你打开一个.py文件时,经常会在代码的最下面看到if __ ... -
matlab字符串
2012-07-06 09:51 610Matlab字符串转换及数值格式转换2010-04-07 ... -
正则表达式
2012-07-06 09:44 618正则表达式的英文是regular expression,意 ... -
正则表达式基础知识
2012-07-06 09:36 729本文内容主要选自 ... -
Flex4的皮肤skin
2012-07-06 09:29 5751.SparkSkin介绍 (1)spark.skin ... -
解决 jQuery 实现父窗口的问题 如window.parent.document.getElementById().innerHTML
2012-07-05 20:44 2467function tipsWindown(title,co ... -
组件编程
2012-07-03 12:13 506面向过程的编程重 ... -
2012-07-03 09:47 1287<br /><br /> ...
-
重写Flex组件
2012-07-02 10:05 475一、为什么要重写组件 1、在FLEX已有组件无法满足业务 ... -
FLEX学习网站
2012-07-02 10:05 542今天把收藏夹共享 ... -
Flex 学习资源
2012-07-02 10:05 664一、国外站点 1.资源网站 Adobe Lab ... -
Flex style - CSS 的使用
2012-07-02 10:05 557Dan Orlando, 软件架 ... -
2012-07-02 09:41 5...
-
Flex是咋回事之三 谁用谁知道
2012-07-01 09:20 542一项技术,从概念 ... -
Flex 导出文件通用处理
2012-07-01 09:20 735本文 ... -
探究 Flex 组件的生命周期
2012-07-01 09:20 493简介: 最为新一 ... -
Adobe Flex UIComponent LifeCycle
2012-07-01 09:20 482Adobe Flex UIComponent L ... -
重写Flex组件
2012-07-01 09:20 456一、为什么要重写组件 1、在FLEX已有组件无法满足业务 ... -
as3 类库(转),留着以后慢慢看
2012-06-30 11:09 892as3 类库(转),留着以后慢慢看 2011年11月03日 ...
相关推荐
本书是关于Delphi 7组件编程的、一本十分完整的参考手册。本书涵盖了Delphi 7集成开发环境的使用、介绍包括基本窗口组件、列表框组件、数据库组件等百余种组件的功能、属性、事件以及方法。 书中大部分组件都辅以了...
组件编程系列组件编程系列组件编程系列组件编程系列
COM组件编程中的金典问题 COM组件编程中的金典问题 COM组件编程中的金典问题 COM组件编程中的金典问题
本书是关于Delphi 7组件编程的、一本十分完整的参考手册。本书涵盖了Delphi 7集成开发环境的使用、介绍包括基本窗口组件、列表框组件、数据库组件等百余种组件的功能、属性、事件以及方法。 书中大部分组件都辅以了...
本书是关于Delphi 7组件编程的、一本十分完整的参考手册。本书涵盖了Delphi 7集成开发环境的使用、介绍包括基本窗口组件、列表框组件、数据库组件等百余种组件的功能、属性、事件以及方法。 书中大部分组件都辅以了...
本书是关于Delphi 7组件编程的、一本十分完整的参考手册。本书涵盖了Delphi 7集成开发环境的使用、介绍包括基本窗口组件、列表框组件、数据库组件等百余种组件的功能、属性、事件以及方法。 书中大部分组件都辅以了...
本书是关于Delphi 7组件编程的、一本十分完整的参考手册。本书涵盖了Delphi 7集成开发环境的使用、介绍包括基本窗口组件、列表框组件、数据库组件等百余种组件的功能、属性、事件以及方法。 书中大部分组件都辅以了...
本书是关于Delphi 7组件编程的、一本十分完整的参考手册。本书涵盖了Delphi 7集成开发环境的使用、介绍包括基本窗口组件、列表框组件、数据库组件等百余种组件的功能、属性、事件以及方法。 书中大部分组件都辅以了...
本书是关于Delphi 7组件编程的、一本十分完整的参考手册。本书涵盖了Delphi 7集成开发环境的使用、介绍包括基本窗口组件、列表框组件、数据库组件等百余种组件的功能、属性、事件以及方法。 书中大部分组件都辅以了...
本书是关于Delphi 7组件编程的、一本十分完整的参考手册。本书涵盖了Delphi 7集成开发环境的使用、介绍包括基本窗口组件、列表框组件、数据库组件等百余种组件的功能、属性、事件以及方法。 书中大部分组件都辅以了...
delphi组件编程中文,讲述了组件开发的过程
Delphi 7组件编程参考手册源程序2
C#组件编程
组件技术的应用现在已经十分广泛,从Windows编程中使用的各种控件和公用对话框,到ActiveX控件和DirectX的应用;从微软公司的COM,到Sun公司的JavaBean。其中最流行的组件技术的应用是——客户端的VBX(微软/VB)和...
主要是一些C#使用Office组件编程的实例源代码,编译调试这些代码之前,你的电脑上必须安装有不低于OFFICE 2003版本及以上的可编程资源支持库,这些库文件具体安装方法可以在控件面板的添加删除软件里选择你安装的...
C#_Office组件编程实例 C#_Office组件编程实例
本书是关于Delphi 7组件编程的、一本十分完整的参考手册。本书涵盖了Delphi 7集成开发环境的使用、介绍包括基本窗口组件、列表框组件、数据库组件等百余种组件的功能、属性、事件以及方法。 书中大部分组件都辅以了...