鏈接到媒介上的文章
查看文章以了解有關概念以及實施的更多信息。
Clean Architecture是傳奇的Robert C. Martin(又名“ Bob叔叔”)的實用軟件架構解決方案。通過應用軟件AR插條的通用規則,您可以在任何軟件系統的整個生命週期內顯著提高開發人員的生產率。
為什麼最大化沒有做出的決定的數量?作為開發人員,我們通過實驗知道,我們在項目開頭(數據庫或網絡框架等)選擇的框架很難在項目的一生中取代,這是因為緊密的耦合和許多其他早期決策,其中一個常見的錯誤之一是,我們基於這些框架,然後讓商業邏輯圍繞它們構建我們的項目。答案是,我們應該構建一個啟用變化的體系結構,是的,我強調更改。不擊中核心邏輯和高級組件的情況下,低量和框架的變化。
該模式強調,每個軟件項目僅由策略和細節的兩個要素構建。策略(高級組件)是軟件系統的核心,其中包括所有業務規則,所有實體以及對該軟件具有獨特身份的所有內容。就像在電子商務平台中的客戶實體或結帳行動一樣。細節(較低級別的組件)是人類可以與業務規則進行交互的方式,模式將其稱為IO設備,數據庫,Web服務器等。就像結帳按鈕一樣,觸發相應的業務規則或在數據庫或文件或任何持久性機制中持續存在該客戶實體。
該模式的最終目標是將高級組件與低級組件分開,並試圖使它們共同努力並使高級免疫受到細節的變化。讓我通過一些例子在您的腦海中使整個想法具體。想像一下,在MySQL(例如MySQL)之上構建的軟件並將Express JS用作Web服務器,然後一年後,利益相關者介紹了與關係數據庫不一致並需要NOSQL數據庫不一致的新要求和功能。如果軟件實現遵循良好的體系結構,並且在組件之間且無需進行更改的革命之間的耦合鬆散。替換適合解決方案的軟件的數據庫或Web服務器或任何其他細節,而不會影響業務規則和高級組件,這很容易。
鮑勃叔叔強調與乾淨的體系結構模式結合在一起,以形成可讀,可維護,可擴展和易於部署的軟件解決方案。