首頁 >web前端 >js教程 >從混亂到清晰:建築的關鍵作用

從混亂到清晰:建築的關鍵作用

王林
王林原創
2024-08-22 18:32:32321瀏覽

在現代發展的快節奏世界中,架構通常決定一個專案是在其自身的複雜性下繁榮還是崩潰。雖然許多開發人員直觀地理解架構很重要,但「為什麼」和「如何」卻很少被討論。是什麼讓架構如此重要,如何確保您的選擇帶來清晰而不是混亂?

本文對 React、Vue、Svelte 和 Vanilla JS 開發人員很有幫助。它對於 Angular 開發人員來說可能沒有多大幫助,因為 Angular 預設強制執行嚴格的架構模式,儘管它仍然可以提供價值。

在我看來,網路上缺乏關於建築的詳細資訊;我只找到了一些有用的資源。這就是為什麼我決定創建一系列關於建築的文章。

現在,讓我們探討什麼是架構,為什麼我們需要架構,介紹一些關鍵術語,並討論不同類型的架構

問題

想像一下開始一個新專案而不規劃其架構 - 只是深入研究程式碼。您開發第一個模組,其中包含子模組和組件之間的連結。然後,您建立第二個模組並將其連結到第一個模組。當您添加更多模組和連接時,這種模式會繼續下去。

當您需要刪除或編輯模組時就會出現問題。隨著專案的成長,複雜性也會增加,模組、子模組無數,它們之間的連結也模糊。最終,這種錯綜複雜的網路讓開發人員頭疼,公司的維修成本也更高。

難度===時間===金錢

什麼是建築?

許多開發人員錯誤地認為架構相當於資料夾結構,但這是錯誤的。架構超越了文件組織。它描述了模組和元件如何在專案系統中互動。

架構包含專案的各種元素,指定模組和元件應如何開發以及它們應如何互連。

在前端,模組通常是利用業務邏輯的 UI 元件。這些範圍可以從大型元件(如頁面)到小型元件(如輸入、按鈕或版式)。

優秀的軟體設計該具備什麼?

我們需要確保我們專案的模組具有:

  1. 高內聚 – 每個模組應該包含相關的業務邏輯。
  2. 低耦合 – 模組應盡可能相互獨立。

內聚力指的是模組可以做什麼。低凝聚力意味著班級會採取各種各樣的行動——範圍廣泛,不專注於應該做的事情。高內聚意味著班級專注於它應該做的事情,即只專注於與班級意圖相關的方法。

耦合是指兩個模組彼此之間的相關或依賴程度。對於低耦合模組,更改一個類別中的主要內容不應影響另一個類別。高耦合會使程式碼難以更改和維護。由於模組緊密結合在一起,因此進行更改可能需要對整個系統進行改造。

本質上,高內聚意味著將相關的程式碼片段保存在一個地方。同時,低耦合涉及盡可能分離程式碼庫中不相關的部分。

From Chaos to Clarity: The Critical Role of Architecture

圖說明如下:

圖像中的模組由不同的圓圈表示,很容易發現。模組中的每個圓圈代表負責執行特定任務的類別或元件。模組內相同顏色的圓圈表示解決相同任務的元素。圖中的箭頭描繪了模組之間的連接,說明了它們如何相互互動。

高內聚、高耦合

讓我們考慮一下上帝物件反模式。上帝物件是一個具有多個子模組和互連的模組,同時也嘗試同時解決多個任務。

From Chaos to Clarity: The Critical Role of Architecture

這會導致高內聚,因為單一模組負責多個任務,以及高耦合,因為各個模組和子模組之間的連接模糊。

低內聚、低耦合

在這個場景中,模組劃分得很好,但是裡面的子模組解決不同的任務(由圖像中的不同顏色表示)。但各模組之間的聯繫仍不清楚。

From Chaos to Clarity: The Critical Role of Architecture

低內聚、高耦合

這是一個不同的情況。這裡,模組劃分清晰,模組之間的聯繫也很牢固。然而,在每個模組內部,內聚性較低,因為它們解決多個任務,導致不必要的複雜性。

From Chaos to Clarity: The Critical Role of Architecture

儘管如此,這仍然比前兩個範例更好,因為您可以輕鬆刪除或修改單一模組。

高內聚、低耦合-理想

在理想的架構中,模組之間的連結是「弱」的,使得刪除或修改任何模組都很容易。在每個模組中,元件和類別解決一項特定任務(如其統一顏色所示),並且與前面的範例不同,沒有職責混合。

From Chaos to Clarity: The Critical Role of Architecture

雖然這種理想的架構在專案中很少見,因為它需要特定的知識和經驗,但這是我們都應該努力的。

結論

架構是模組、元件以及它們之間的連接的結構。

成功架構的關鍵在於實作 DRY、KISS 和 SOLID 等開發原則。刪除和修改模組應該很容易,尤其是刪除部分——這是重點。

如果您有任何問題或想了解更多關於哪種架構的信息,請在評論中告訴我!

以上是從混亂到清晰:建築的關鍵作用的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn