一、模塊化、組件化、插件化的區別
組件化
組件的本質是一件產品,獨立性很強;組件的核心是復用,與其它功能又有強依賴關系。組件是獨立工具,強調跨項目可用,模塊強調設計某個項目里的功能區域,二者沒有上下級包含關系,模塊可以由多個組件構成,組件也通常由多個模塊實現。但是,組件是獨立產品而模塊不是。
?如:插件,控件(按鈕,列表框,對話欄)
模塊化
在非中臺產品中,模塊與模塊間是強耦合關系,模塊不可以獨立運行;在中臺產品中,模塊可以獨立運行。
?如: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等。中間件與操作系統、數據庫管理系統并稱基礎軟件的“三駕馬車”;與組件、模塊、套件和插件相比,其復用性的約束更多的體現上計算機資源管理和網絡通訊上。