一、模塊化、組件化、插件化的區(qū)別
組件化
組件的本質(zhì)是一件產(chǎn)品,獨(dú)立性很強(qiáng);組件的核心是復(fù)用,與其它功能又有強(qiáng)依賴關(guān)系。組件是獨(dú)立工具,強(qiáng)調(diào)跨項(xiàng)目可用,模塊強(qiáng)調(diào)設(shè)計(jì)某個(gè)項(xiàng)目里的功能區(qū)域,二者沒有上下級(jí)包含關(guān)系,模塊可以由多個(gè)組件構(gòu)成,組件也通常由多個(gè)模塊實(shí)現(xiàn)。但是,組件是獨(dú)立產(chǎn)品而模塊不是。
?如:插件,控件(按鈕,列表框,對(duì)話欄)
模塊化
在非中臺(tái)產(chǎn)品中,模塊與模塊間是強(qiáng)耦合關(guān)系,模塊不可以獨(dú)立運(yùn)行;在中臺(tái)產(chǎn)品中,模塊可以獨(dú)立運(yùn)行。
?如:spring boot 里的spring boot模塊(提供啟動(dòng)spring應(yīng)用的主類,創(chuàng)建和刷新spring容器的上下文,內(nèi)嵌tomcat等web應(yīng)用容器),spring boot autoconfigure模塊(自動(dòng)注解),spring boot starter模塊(啟動(dòng)器,一站打包相關(guān)spring技術(shù)應(yīng)用不需要你到處找依賴。如:新建spring boot?starter web模塊,就會(huì)自動(dòng)配置web應(yīng)用 ),spring boot cli模塊(命令行工具),spring boot actuator模塊(執(zhí)行端點(diǎn)),spring boot test模塊(應(yīng)用測(cè)試),spring boot actuator autoconfigure模塊(為應(yīng)用測(cè)試提供自動(dòng)配置),spring boot loader模塊,spring boot devtools模塊(開發(fā)者工具模塊,一般被禁用)。
插件化
是一種遵循一定規(guī)范的應(yīng)用程序接口編寫出來的程序,基于特定平臺(tái)才可使用。插件的數(shù)量非常多。
延伸閱讀:
二、中間件
是一種獨(dú)立的系統(tǒng)軟件或服務(wù)程序,分布式應(yīng)用軟件借助這種軟件在不同的技術(shù)之間共享資源。它位于客戶機(jī)/服務(wù)器的操作系統(tǒng)之上,管理計(jì)算機(jī)資源和網(wǎng)絡(luò)通訊,是連接兩個(gè)獨(dú)立應(yīng)用程序或獨(dú)立系統(tǒng)的軟件。這樣相連接的系統(tǒng),即使具有不同的接口,但通過中間件相互之間仍能交換信息;典型的云化中間件包括分布式消息隊(duì)列、分布式緩存、分布式鎖、分布式ID等。中間件與操作系統(tǒng)、數(shù)據(jù)庫管理系統(tǒng)并稱基礎(chǔ)軟件的“三駕馬車”;與組件、模塊、套件和插件相比,其復(fù)用性的約束更多的體現(xiàn)上計(jì)算機(jī)資源管理和網(wǎng)絡(luò)通訊上。