架构,构件,组件,框架,中间件之间区别![转]

限时加码!20+主流AI编程工具免费用 购周边加赠Coding Plan Lite,Claude Code、Cursor等即刻畅享,学习进阶更高效! 阅读详情
中间件作为一大类系统软件,与操作系统,数据库管理系统并称"三套车",其重要性是不言而语的.

那什么是中间件?

我们来看看以下的几种定义:
http://middleware.internet2.edu/ 给出了middleware的一个定义:
Middleware, is a layer of software between the network and the applications. This software provides services such as identification, authentication, authorization, directories, and security. In today's Internet, applications usually have to provide these services themselves, which leads to competing and incompatible standards. By promoting standardization and interoperability, middleware will make advanced network applications much easier to use.
同样,IDC给出的一个定义:中间件是一种独立的系统软件或服务程序,分布式应用软件借助这种软件在不同的技术之间共享资源,中间件位于客户机服务器的操作系统之上,管理计算资源和网络通信。

从这些定义中可以看出:
– 中间件是一类软件,而非一种软件;
– 中间件不仅仅实现互连,还要实现应用之间的互操作;
– 中间件是基于分布式处理的软件,最突出的特点是其网络通信功能。

接着,我们再来看看什么是Web Services?
Web Services就是可以通过web描述、发布、定位和调用的模块化应用。Web Services可以执行任何功能,从简单的请求到复杂的业务过程。一旦Web Services被部署,其他的应用程序或是Web Services就能够发现并且调用这个部署的服务。
Web Services通过简单对象访问协议 (Simple Object Access Protocol,SOAP)来调用。SOAP是一种轻量级的消息协议,它允许用任何语言编写的任何类型的对象在任何平台之上相互通信。SOAP消息采用可扩展标记语言(XML)进行编码,一般通过HTTP进行传输。与其它的分布式计算技术不同,Web Services是松耦合的,而且能够动态地定位其他在internet上提供服务的组件,并且与它们交互。
Web Services使用诸如SOAP消息这样的XML消息,通过一种良好定义的消息交换模式来调用。通过描述调用服务所必需的数据,Web Services描述语言 (WSDL)文档定义了消息交换模式。
一、组件概念
简而言之,组件就是对象。C++ Builder中叫组件,Delphi中叫部件,而在Visual BASIC中叫控件。
组件是对数据和方法的简单封装。C++ Builder中,一个组件就是一个从TComponent派生出来的特定对象。组件可以有自己的属性和方法。属性是组件数据的简单访问者。方法则是组件的一些简单而可见的功能。
组件是C++ Builder环境中最令人激动的部分。使用组件可以实现拖放式编程、快速的属性处理以及真正的面向对象的设计。VCL和CLX组件是C++ Builder系统的核心。
二、组件应用
使用现成的组件来开发应用程序时,组件工作在两种模式下:设计时态和运行时态。
在设计时态下,组件显示在C++ Builder窗体编辑器下的一个窗体中。设计时态下组件的方法不能被调用,组件不能与最终用户直接进行交互操作,也不需要实现组件的全部功能。
在运行状态下,组件工作在一个确实已经运行的应用程序中。组件必须正确地将自身表示出来,它需要对方法的调用进行处理并实现与其他组件之间有效的协同工作。
设计时态下所有的组件在窗体中都是可见的,但在运行时态下不一定可见。如TTable、TQuery和TDataSet在运行时态下就不可见,但他们均完成了重要的功能。
三、组件创建
创建组件就是自行设计制作出新的组件。
设计组件是一项繁重的工作。自行开发组件与使用组件进行可视化程序开发存在着极大的不同,要求程序员熟知原有的VCL类库结构,精通面向对象程序设计。
设计组件是一项艰苦的工作。对于组件的开发者,组件是纯粹的代码。组件的开发不是一个可视化的开发过程,而是用C++或Object Pascal严格编制代码的工作。实际上,创建新组件使我们回到传统开发工具的时代。虽然这是一个复杂的过程,但也是一个一劳永逸的过程。
创建组件的最大意义在于封装重复的工作,其次是可以扩充现有组件的功能。
组件创建过程包括设计、开发、调试(就是所谓的3D's)工作,然后是组件的使用。
组件开发者应该掌握的三项主要内容是:属性、事件和方法。

http://www.vchome.net/dotnet/webservice/webservice15.htm
http://www.csdn.net/develop/read_article.asp?id=15399
模式,即pattern。其实就是解决某一类问题的方法论。你把解决某类问题的方法总结归纳到理论高度,那就是模式。

Alexander给出的经典定义是:每个模式都描述了一个在我们的环境中不断出现的问题,然后描述了该问题的解决方案的核心。通过这种方式,你可以无数次地使用那些已有的解决方案,无需在重复相同的工作。

模式有不同的领域,建筑领域有建筑模式,软件设计领域也有设计模式。当一个领域逐渐成熟的时候,自然会出现很多模式。

什么是框架?

框架,即framework。其实就是某种应用的半成品,就是一组组件,供你选用完成你自己的系统。简单说就是使用别人搭好的舞台,你来做表演。而且,框架一般是成熟的,不断升级的软件。

构件(component)是可复用的软件组成成份,可被用来构造其他软件。它可以是被封装的对象类、类树、一些功能模块、软件框架(framwork)、软件构架(或体系结构Architectural)、文档、分析件、设计模式(Pattern)等。构件分为构件类和构件实例,通过给出构件类的参数,生成实例,通过实例的组装和控制来构造相应的应用软件,这不仅大大提高了软件开发者的开发效率,也大大提高了软件的质量。

http://www.umlchina.com/CBD/BestIndex1.htm 
【云计算学习教程】什么是中间件?常见中间件有哪些? 文章目录中间件是什么为什么使用中间件主要中间件的分类1. Hadoop2. LVS3. Linux-HA4. 静态网站服务器5. 动态应用服务器DNS、DHCP、KerberosRadius:云计算基础服务组件1. DNS2. DHCP3. Kerberos1)身份认证2)权限管理3)联邦单点登录4)外围系统认证集成5)自适应风险评估4. Radius云计算管理工具简介OpenStack是什么?CloudStack(CloudPlatform)是什么?谈谈Eucalyptus云端管理工具1)云控制器(C 阅读详情

相关推荐

什么是中间件

通过刚才的学习,我们知道了中间件的概念,它是为了解决系统中的技术需求,将技术需求与业务需求进行解耦,让我们专注于业务代码开发的一个个技术组件中间件的存在,就是为了解决高并发、高可用性、高性能等各领域的技术难题。在项目中,合理引用中间件能极大提升我们系统的稳定性、可用性,但同时也会提升系统维护的复杂度,对我们的技术能力提出了更高的要求,我们必须要熟练掌握项目中引用的各种中间件,深入理解其工作原理、实现细节,提高对中间件的驾驭能力,否则一旦运用不当,很可能给系统带来灾难性的故障。

善守者 2893

通俗易懂的讲讲什么是中间件

由此说使用中间件需要解决的第一个问题就是互通性,也就是相互间可以通信。在项目的架构重构中,使用任何技术架构的改变我们都需要谨慎斟酌思考,因为任何技术的融λ变化都可能人员、技术成本的增加,中间件的技术般现在些互联网公司或者项目中使用比较多,如果你仅仅还只是一个初创司建议还是使用单体架构,最多加个缓存中间件即可,不要盲目迫求新或者所谓的高性能,而追求的背后一定是业务的驱动项目的驱动,因为一旦追求就意味着你的学习成本,公司的人员结构以及服务器成本,维护运维的成本都会加,所以需要谨忪择考虑。

modi000的博客 1万+

VS2022如何兼容老项目?.NET Framework 4.0/4.5安装避坑指南

本文提供了在Visual Studio 2022中兼容维护.NET Framework 4.0/4.5等老旧项目的完整解决方案。针对VS2022无法直接识别旧框架的核心问题,文章详细剖析了原因,并重点推荐通过官方NuGet包安全获取引用程序集的方法,给出了从下载、解压到部署至标准目录的详细步骤。同时,文章还深入探讨了项目文件格式过旧、NuGet包还原失败等进阶问题的排查与解决策略,旨在帮助开发者高效、稳定地在现代开发环境中维护历史代码库。

weixin_27734811的博客 486

中间件是什么,常用的中间件有哪些(*)

一.中间件是什么? 中间件(英语:Middleware)顾名思义是系统软件用户应用软件之间连接的软件,以便于软件各部件之间的沟通,特别是应用软件对于系统软件的集中的逻辑,是一种独立的系统软件或服务程序,分布式应用软件借助这种软件在不同的技术之间共享资源。中间件在客户服务器的操作系统、网络数据库之上,管理计算资源网络通信。总的作用是为处于自己上层的应用软件提供运行与开发的环境,帮助用户灵活、高效地开发集成复杂的应用软件。 也就是说,关于中间件,我们可以理解为:是一类能够为一种或多种应用程序合作互通、资

weixin_42408447的博客 2万+

framework是什么解读架构框架模式构件组件中间件之间区别

  一、什么是架构?   架构框架、模式是一种从大到小的关系,也是一种组合关系。   架构一般针对一个行业或一类应用,是技术应用完美的结合。   框架因为比较小,很多表现为中间件框架一般是从技术角度解决同类问题,例如J道数据增删改查框架就解决了所有数据库系统中大量数据增删改查的功能开发,框架是从技术的横切面去解决实际应用问题。   模式则更小了,越小越灵活,可重用的范围更广。   ...

weixin_30587927的博客 1887

架构构件组件框架中间件区别

chin_yong的专栏 3317

架构框架,模式,构件组件中间件之间区别

自:http://www.blogjava.net/renyangok/archive/2007/02/13/99635.html 1.什么是架构架构框架、模式是一种从大到小的关系,也是一种组合关系。架构一般针对一个行业或一类应用,是技术应用完美的结合。框架因为比较小,很多表现为中间...

chengtingqu9941的博客 254

解读架构框架,模式,构件组件中间件之间区别

一、什么是架构?   架构框架、模式是一种从大到小的关系,也是一种组合关系。   架构一般针对一个行业或一类应用,是技术应用完美的结合。   框架因为比较小,很多表现为中间件框架一般是从技术角度解决同类问题,例如J道数据增删改查框架就解决了所有数据库系统中大量数据增删改查的功能开发,框架是从技术的横切面去解决实际应用问题。   模式则更小了,越小越灵活,可重用的范围更广。   一个...

iteye_15118的博客 641

(收藏)架构构件组件框架中间件之间有什么区别

中间件作为一大类系统软件,与操作系统,数据库管理系统并称"三套车",其重要性是不言而语的. 那什么是中间件? 我们来看看以下的几种定义: http://middleware.internet2.edu/ 给出了middleware的一个定义: Middleware, is a layer of software between the network and the applications.

天道酬勤--黑龙 1918

系统架构设计高级技能 · 构件中间件技术

定义1:软件构件是一种组装单元,它具有规范的接口规约显式的语境依赖。软件构件可以被独立地部署并由第三方任意地组装。定义2:构件是某系统中有价值的、几乎独立的并可替换的一个部分,它在良好定义的体系结构语境内满足某清晰的功能。定义3:构件是一个独立发布的功能部分,可以通过其接口访问它的服务。构件是一组通常需要同时部署的原子构件构件原子构件之间区别:在于大多数原子构件永远都不会被单独部署,尽管它们可以被单独部署。相反,大多数原子构件都属于一个构件家族,一次部署往往涉及整个家族。

weixin_30197685的博客 5552

软件架构设计(四)——构件中间件

一.构件的概念 二、构件的复用 (1).检索与提取构件 (2)理解与评价构件 (3)修改构件 (4)组装构件 三、中间件概念 四.中间件技术的优点 五、Corba(公共对象请求代理体系结构) (1).CORBA概念 (2).CORBA体系的主要内容

superSmart_Dong的博客 2582

[]架构构件组件框架中间件之间区别

中间件作为一大类系统软件,与操作系统,数据库管理系统并称"三套车",其重要性是不言而语的. 那什么是中间件? 我们来看看以下的几种定义: http://middleware.internet2.edu/ 给出了middleware的一个定义: Middleware, is a layer of software between the network and the applications. T

langxuan的专栏 734

几个容易混淆的术语:框架、模式、架构构件组件中间件

spring解决的范围就广了,它的web组件同样用于解决前端开发,而ioc容器则用于解决 对象之间的解耦与分离,AOP则更是将对象方法之间的协作问题提升到神不知鬼不觉的情况下解决掉(牛啊),当然,spring还有持久化,缓存,事务等方面的专门解决组件,是通过对其它著名框架的集成而得到的。构件分为构件构件实例,通 过给出构件类的参数,生成实例,通过实例的组装控制来构造相应的应用软件,这不仅大大提高了软件开发者的开发效率,也大大提高了软件的质量。而且,框架一般是成熟的,不断升级的软件。

zxf347085420的博客 1128

架构框架、模式、模块、组件、插件、控件、中间件的含义区别

架构框架、模式、模块、组件、插件、控件、中间件的含义区别。经常看到这些概念,但是有些含糊,花点儿功夫整理一下,结果还是有些地方理解的不透彻,先将整理的内容写下来,以供交流。左侧英文栏中有些单词被分成了两半,放到了两行中,看的时候需要注意。欢迎各路大虾、大牛、大神拍砖警醒,油锤灌顶~~~ 术语 英文解释 中文解释 软件架构 architecture: Architecture is the art ofplanning, designing, an.

fengdijiang的专栏 1885
上一篇: WinSock网络编程实用宝典
下一篇: C#编程技巧集之--使用C#轻松编写.Net组件
lincomin
博客等级 码龄20年 2粉丝 22原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值