组件、模块、中间件、插件的区别


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

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

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

模块(又叫依赖),从库(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插件

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM