组件、模块、中间件、插件的区别
组件(是独立工具,强调跨项目可用)
组件的本质是一件产品,独立性很强;组件的核心是复用,与其它功能又有强依赖关系。组件是独立工具,强调跨项目可用,模块强调设计某个项目里的功能区域,二者没有上下级包含关系,模块可以由多个组件构成,组件也通常由多个模块实现。但是,组件是独立产品而模块不是。
如:插件,控件(按钮,列表框,对话栏)
模块(又叫依赖),从库(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模块(开发者工具模块,一般被禁用)。
中间件(主要应用在计算机资源管理和网络通讯)
是一种独立的系统软件或服务程序,分布式应用软件借助这种软件在不同的技术之间共享资源。它位于客户机/服务器的操作系统之上,管理计算机资源和网络通讯,是连接两个独立应用程序或独立系统的软件。这样相连接的系统,即使具有不同的接口,但通过中间件相互之间仍能交换信息;典型的云化中间件包括分布式消息队列、分布式缓存、分布式锁、分布式ID等。中间件与操作系统、数据库管理系统并称基础软件的“三驾马车”;与组件、模块、套件和插件相比,其复用性的约束更多的体现上计算机资源管理和网络通讯上。
如:spring boot 里的tomcat应用服务器
插件(plugin)
是一种遵循一定规范的应用程序接口编写出来的程序,基于特定平台才可使用。插件的数量非常多。
如:spring boot 里的maven插件
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· [.NET]调用本地 Deepseek 模型
· Blazor Hybrid适配到HarmonyOS系统
· Obsidian + DeepSeek:免费 AI 助力你的知识管理,让你的笔记飞起来!
· 解决跨域问题的这6种方案,真香!
· 分享4款.NET开源、免费、实用的商城系统
· 一套基于 Material Design 规范实现的 Blazor 和 Razor 通用组件库