1. 什么是组件

一个组件同一个微型应用程序类似,即都是已经编译、链接好并可以使用的了,应用程序就是由多个这样的组件打包而得到的。各定制的组件可以在运行时同其他组件连接起来以构成某个应用程序。
在需要对应用程序进行修改或改进时,只需要将构成此应用程序的组件中的某个用新的版本替换掉即可。

2. COM组件

COM,即组件对象模型,是一个说明如何建立可动态互变组件的规范,它提供了为保证能够互操作,客户和组件应遵循的一些标准。

COM组件是以Win32动态链接库(DLLs)或可执行文件(EXEs)的形式发布的可执行代码。

COM组件必须满足以下条件:

1.COM组件是完全与语言无关的;
2.COM组件可以以二进制的形式发布;
3.COM组件可以在不妨碍老客户的情况下被升级;

COM组件可以透明的在网络上被重新分配位置。

3. 使用组件的优点

① 应用程序定制

组件架构从本质上讲就是可被定制的,因用户可以用更能满足他们需要的组件来将某个组件替换掉;

② 组件库

组件架构最引人注目的优点之一是快速应用程序开发。这一优点可以使开发人员从某个组件库中取出所需要的组件并将其快速地组装到一块以构造所需的应用程序,如同搭积木块一样;

③ 分布式组件

组件架构可以使得开发这类分布式应用的过程得以简化。实际上,客户机/服务器式的应用就是向组件架构跨出的第一步。在那里整个应用程序被分成两部分:客户机部分及服务器部分。

4. 总结

COM提供了编写组件的一个标准方法。遵循COM标准的组件可以被组合起来以形成应用程序。至于这些组件是谁编写的、如何实现的都是无关紧要的。每一个COM组件均可同其他组件一起使用。实现这种可动态改变组件的关键问题是信息的封装。对于封装,COM是通过组件和客户之间的连接或接口来实现的。

转载自:https://www.jb51.net/article/55879.htm

1. COM编程——什么是组件相关推荐

  1. python和vb的代码可以通用吗-VB6+Python混合编程(COM组件)(转)

    VB6+Python混合编程(COM组件) 0.2572018.05.10 16:01:23字数 553阅读 3725 Python的方便不用说,VB6做GUI的简单程度更不用说.二者混合编程的需求一 ...

  2. Java Web编程的主要组件技术——MVC设计模式

    参考书籍:<J2EE开源编程精要15讲> MVC(Model View Controller),Model(模型)表示业务逻辑层,View(视图)代表表述层,Controller(控制)表 ...

  3. 游戏编程模式之组件模式

    允许一个单一的实体跨越多个不同域而不会导致耦合. (摘自<游戏编程模式>) 组件模式又是一个采用"Have One"实现多态的模式.从客观上来说,Unity引擎的Gam ...

  4. 并发编程 | Netty - [常用组件概要]

    INDEX Bootstrap & ServerBootstrap Channel Future & ChannelFuture Selector ChannelHandler Pip ...

  5. Java Web编程的主要组件技术——Hibernate入门

    参考书籍:<J2EE开源编程精要15讲> Hibernate是对象/关系映射(ORM,Object/Relational Mapping)的解决方案,就是将Java对象与对象关系映射到关系 ...

  6. Python编写多线程多人聊天室系统(Socket编程、tkinter组件使用)

    是Python作业的说,也是自己编写了好长时间,有几个地方实现的方法非常的傻,请见谅QwQ 代码包含详细注释. 与此同时如果想让这个聊天室也能被全国各地的同学使用的话也可以将这个程序部署到云服务器上! ...

  7. java gui jlabel_Java GUI编程4---标签组件JLabel

    1. 认识JLabel JLabel组件表示的是一个标签,本身是用于显示信息的,一般情况下是不能直接更改器显示内容的.创建完的Label对象可以通过Container类中的add()方法,加入到容器中 ...

  8. 并发编程-19AQS同步组件之重入锁ReentrantLock、 读写锁ReentrantReadWriteLock、Condition

    文章目录 J.U.C脑图 ReentrantLock概述 ReentrantLock 常用方法 synchronized 和 ReentrantLock的比较 ReentrantLock示例 读写锁R ...

  9. 并发编程-18AQS同步组件之 CyclicBarrier 同步屏障

    文章目录 J.U.C脑图 CyclicBarrier CyclicBarrier的应用场景 示例 await await(long timeout, TimeUnit unit) CyclicBarr ...

  10. 并发编程-17AQS同步组件之 Semaphore 控制并发线程数的信号量

    文章目录 J.U.C脑图 Semaphore 概述 Semaphore 构造函数及方法 构造函数 常用和需要注意的方法 Semaphore 示例 acquire() semaphore.acquire ...

最新文章

  1. oracle:ORA-01940无法删除当前已连接用户的解决方案
  2. Struts 2 --ONGL介绍
  3. 基于用户投票的排名算法Reddit
  4. 初探Golang(4)-map和流程控制语句
  5. OJ1037: 四则运算
  6. C#中设置webBrowser为可编辑模式
  7. Apache目录介绍
  8. python实现人脸检测及识别(3)---- 识别真正的boss
  9. ***mysql 用一个表的一列,去更新另一表的一列
  10. 高中计算机教师学期论文,高中信息技术论文选题
  11. Pyecharts库及其与Django的结合使用
  12. 微软黑科技如何加速游戏开发,读这篇就够了
  13. python操作实例_python_文件操作代码实例
  14. ❤️粉丝专属福利❤️
  15. “腾源虎”表情包超萌上线,更有4000份定制红包封面免费送!
  16. 【推荐系统】DUPN:Deep User Perception Network
  17. Android番外篇 “adb”不是内部或外部命令,也不是可运行的程序或批处理文件
  18. GGV纪源资本招募GGV Fellows啦!
  19. S4一般总账科目启用未清项管理(open item management)历史数据转换-RFSEPA02
  20. 微信小程序架构分析 (下)

热门文章

  1. 虚拟化系列-Citrix XenServer 6.1 XenMotion与HA
  2. js修改地址栏url_前端实战总结如何在不刷新页面的情况下改变URL
  3. .doc文件标题的使用
  4. 加强计算机网络应用,加强计算机网络管理技术的创新应用
  5. java中操作字符串的函数_java 常用字符串操作
  6. linux进程与线程的通讯,实验进程与线程——Linux进程与线程通讯.ppt
  7. OFFICE技术讲座:段落的行是如何布局不同对齐方式的
  8. 梦笔记2022-02-23
  9. uos的安全检测:sqlite-jdbc访问/tmp目录的提示
  10. 喜庆:上周阅读量5W,超过了99%的C友