網際網路是模組化的 - Gordon

banq發表於2022-04-17

網際網路的關鍵架構原則之一是模組化;

模組化是一種設計原則,它有意使元件高度獨立(“鬆散耦合”);
當一個系統由具有可識別邊界的較小的獨立部分組成時,它就是模組化的。

在設計模組化架構時,系統架構師以最小化元件之間依賴關係的方式分解系統。
模組化系統可以從組成部分分解和重組。事實上,形式上純模組化的數學術語是組合性——可組合的屬性。

如何判斷系統是否模組化?
關鍵測試是是否可以在不更改其他部分的情況下新增、刪除、修改或交換部分。
如果產品在設計上是模組化的,那麼它的元件可以獨立設計。如果在生產上是模組化的,它的元件可以獨立生產。如果在使用中是模組化的,產品的使用者可以在後期更換或“混合和匹配”元件。

為了使元件獨立並保持它們的獨立性,模組化採用了抽象、資訊隱藏和嚴格的關注點分離。
必須仔細指定模組如何相互通訊以保持獨立性。
介面是組合性的一個重要方面,介面實際上是組合性的同義詞。
介面有很多名稱:API、協議、函式簽名、合同.

因為模組是黑盒子,你可以改變模組內的任何東西,只要它不改變介面。模組讓您可以自由地在不破壞任何功能的情況下快速發展系統的內部結構。

模組介面不能快速進化,否則系統會崩潰。
這給我們帶來了一個兩難境地:在正確的地方劃定模組化的邊界是至關重要的。模組化的邊界決定了系統的哪些部分可以快速發展,哪些部分會及時凍結。在錯誤的地方畫線,你會被卡住的!

模組化是一個設計問題,沒有簡單的答案,正確的邊界取決於目標、價值觀和更大環境中的協同進化契合度。
開放式系統是模組化系統。




 

相關文章