前言
? ? ? ? 組件化與模塊化已經深入體現到軟件開發當中,也是為了讓開發者更好的去解決軟件上的高耦合、低內聚、無重用的3大代碼問題。在寫這篇文章之前,我也百度過很多相關介紹文章,各個作者都有自己的一些想法或者總結,所以當時看得比較亂,在實踐過程中也存在不少疑惑(很多時候不知道選擇用組件還是模塊,或者有時候根本分不清自己這得是組件還是模塊。云里霧里~~)。因此為了解決這些疑惑幫自己統一了組件化與模塊化的使用方式與概念、定位。
概念
? ? ?組件化?
? ? ? ? 就是"基礎庫"或者“基礎組件",意思是把代碼重復的部分提煉出一個個組件供給功能使用。
? ? ? ? 使用:Dialog,各種自定義的UI控件、能在項目或者不同項目重復應用的代碼等等。
? ? ? ? 目的:復用,解耦。
? ? ? ? 依賴:組件之間低依賴,比較獨立。
? ? ? ? 架構定位:縱向分層(位于架構底層,被其他層所依賴)。
? ? ?模塊化?
????????就是"業務框架"或者“業務模塊",也可以理解為“框架”,意思是把功能進行劃分,將同一類型的代碼整合在一起,所以模塊的功能相對復雜,但都同屬于一個業務。
? ? ? ? 使用:按照項目功能需求劃分成不同類型的業務框架(例如:注冊、登錄、外賣、直播.....)
? ? ? ? 目的:隔離/封裝 (高內聚)。
? ? ? ? 依賴:模塊之間有依賴的關系,可通過路由器進行模塊之間的耦合問題。
? ? ? ? 架構定位:橫向分塊(位于架構業務框架層)。
總結
? ? ? ? ? ?其實組件相當于庫,把一些能在項目里或者不同類型項目中可復用的代碼進行工具性的封裝。
? ? ? ? ? ?而模塊相應于業務邏輯模塊,把同一類型項目里的功能邏輯進行進行需求性的封裝。
?