组件、模块、中间件和插件的区别与联系

本文探讨了组件、模块和中间件在IT技术中的角色,强调了组件的独立性和跨项目复用,对比了模块间的依赖关系以及SpringBoot中模块化的应用实例。中间件作为计算机资源管理和网络通讯的基础,与组件和模块有着不同层次的复用性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.组件(是独立工具,强调跨项目可用)

组件的本质是一件产品,独立性很强;组件的核心是复用,与其它功能又有强依赖关系。组件是独立工具,强调跨项目可用,模块强调设计某个项目里的功能区域,二者没有上下级包含关系,模块可以由多个组件构成,组件也通常由多个模块实现。但是,组件是独立产品而模块不是。

 如:插件,控件(按钮,列表框,对话栏)

2.模块(又叫依赖),从库(dependencies)调取

在非中台产品中,模块与模块间是强耦合关系,模块不可以独立运行;在中台产品中,模块可以独立运行。

 如:spring boot 里的spring boot模块(提供启动spring应用的主类,创建和刷新spring容器的上下文,内嵌tomcat等web应用容器),spring boot autoconfigure模块(自动注解),spring boot starter模块(启动器,一站打包相关spring技术应用不需要你到处找依赖。如:新建spring boot starter web模块,就会自动配置web应用 ),spring boot cli模块(命令行工具),spring boot actuator模块(执行端点),spring boot test模块(应用测试),spring boot actuator autoconfigure模块(为应用测试提供自动配置),spring boot loader模块,spring boot devtools模块(开发者工具模块,一般被禁用)。

3.中间件(主要应用在计算机资源管理和网络通讯)

是一种独立的系统软件或服务程序,分布式应用软件借助这种软件在不同的技术之间共享资源。它位于客户机/服务器的操作系统之上,管理计算机资源和网络通讯,是连接两个独立应用程序或独立系统的软件。这样相连接的系统,即使具有不同的接口,但通过中间件相互之间仍能交换信息;典型的云化中间件包括分布式消息队列、分布式缓存、分布式锁、分布式ID等。中间件与操作系统、数据库管理系统并称基础软件的“三驾马车”;与组件、模块、套件和插件相比,其复用性的约束更多的体现上计算机资源管理和网络通讯上。

 如:spring boot 里的tomcat应用服务器

4.插件(plugin)

是一种遵循一定规范的应用程序接口编写出来的程序,基于特定平台才可使用。插件的数量非常多。

如:spring boot 里的maven插件

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值