本文是《架構整潔之道》的讀書筆記,文章從軟體系統的價值出發,認識架構工作的價值和目標, 依次了解架構設計的基礎、指導思想(設計原則)、組件拆分的方法和粒度、組件之間依賴設計、組件邊界多種解耦方式以及取捨、降低組件之間通信成本的方法,從而在做出正確的架構決策和架構設計方面,給出作者自己的解讀。
行為價值是軟體的核心價值,包括需求的實現,以及可用性保障(功能性 bug 、性能、穩定性)。這幾乎佔據了我們90%的工作內容,支撐業務先贏是我們工程師的首要責任。如果業務是明確的、穩定的,架構的價值就可以忽略不計,但業務通常是不明確的、飛速發展的,這時架構就無比重要,因為架構的價值就是讓我們的軟體(Software)更軟(Soft)。可以從兩方面理解:
當我們只關注行為價值,不關注架構價值時,會發生什麼事情?這是書中記錄的一個真實案例,隨著版本迭代,工程師團隊的規模持續增長,但總代碼行數卻趨於穩定,相對應的,每行代碼的變更成本升高、工程師的生產效率降低。從老闆的視角,就是公司的成本增長迅猛,如果營收跟不上就要開始賠錢啦。