模块化、组件化、插件化的区别?
一、模块化、组件化、插件化的区别
组件化
组件的本质是一件产品,独立性很强;组件的核心是复用,与其它功能又有强依赖关系。组件是独立工具,强调跨项目可用,模块强调设计某个项目里的功能区域,二者没有上下级包含关系,模块可以由多个组件构成,组件也通常由多个模块实现。但是,组件是独立产品而模块不是。
如:插件,控件(按钮,列表框,对话栏)
模块化
在非中台产品中,模块与模块间是强耦合关系,模块不可以独立运行;在中台产品中,模块可以独立运行。
如: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等。中间件与操作系统、数据库管理系统并称基础软件的“三驾马车”;与组件、模块、套件和插件相比,其复用性的约束更多的体现上计算机资源管理和网络通讯上。

猜你喜欢LIKE
相关推荐HOT
更多>>
为什么Oracle数据库没有很好的卸载工具?
一、Oracle数据库没有很好的卸载工具的原因1、安装程序以压缩包形式存在大部分Oracle数据库安装程序都是以压缩包存在的,没有独立的卸载程序。...详情>>
2023-10-18 18:40:58
mysql的Innodb引擎中,主键索引和普通索引的工作原理是什么?
一、mysql的Innodb引擎中,主键索引和普通索引的工作原理在InnoDB中,表都是根据主键顺序以索引的形式存放的,这种存储方式的表称为索引组织表...详情>>
2023-10-18 15:19:29
非常适合移动和桌面应用的JavaScript框架是什么?
一、React NativeReact Native是一个广受欢迎的JavaScript框架,特别适合移动应用开发。它允许开发者使用JavaScript和React的语法来构建原生移...详情>>
2023-10-18 13:10:11
一个事务提交时,redo log和undo log以及bin log的生成流程是怎么样的?
一、redo log和undo log以及bin log的生成流程1.undolog是在innodb的回滚段里的(确切是rollback segment->undo segment),这个也是buff...详情>>
2023-10-18 12:35:31热门推荐
用什么数据库存储大量简单数据比较合适?
沸JAVA实现短网址服务的原理是什么?
热安卓原生app开发为什么要用sql本地数据库?
热oracle数据库库中两个表之间怎么同步数据?
新为什么Oracle数据库没有很好的卸载工具?
怎样用java向MySQL中的表插入1亿条数据?
做一个公司内部使用的小程序,应该用什么语言和数据库?
如何建立数据库,利用什么软件建立数据库?
org.Hs.eg.db包载入失败是为什么?
mysql update主键更新很慢会是什么原因?
如果同一条记录同时多个进程可能对不同的字段进行修改,怎么保证列锁?
mysql的Innodb引擎中,主键索引和普通索引的工作原理是什么?
Plugin解决了什么问题?
Python的pymysql、mysql、mysqlx库都有什么区别?
技术干货






