《架構之美》閱讀筆記06

2022-07-25 02:42:10 字數 844 閱讀 1380

什麼是架構 :乙個好的系統架構應該顯示出概念的完整;話句話說,它會伴隨一系列的設計規則,這些規則的目標是減少複雜性,這些規則是進行詳細設計和系統驗證的指導。規則可能會代表一種模式,例如管道和過濾器。 在現在的架構師看來,架構應該包括下面的一些內容: 它包括使用者要求的功能。 它在使用者要求的日程上是可完成的。 它的功能是適當的。 它是可靠地。 對使用者來說,它是可用的、安全的。 它是牢固的。 它不是太貴。

它符合法律的標準。 它應該比前輩和競爭對手存活更長的時間。 當然了,我們沒有見過完美的滿足上述特性的複雜系統。架構是乙個權衡的結果,改進了這個特性,可能就會消弱另外乙個特性。架構師一定要通過發現特定系統的重要關注點,已經滿足這些關注點高效執行的條件,來決定那些是需要滿足的。

在使用者和架構師對這些抽象達成一致之後,架構師回去準備更加詳細的圖紙,可能包含詳細的文件。這些詳細的圖紙會包括建築的細節,例如:水管道,建築原料,窗戶的配置,電線的走線等等。 架構師很少會簡單的把詳細圖紙交給建築工人就完事的。對於一些重大的工程,架構師會跟蹤專案,定期檢查工作,可能會提出一些改進意見,或者是接受一些建築工人和客戶的建議。在架構師管理專案的時候,直到他確定大體上滿足計畫和詳細設計為止,才認為是完成。

軟體架構師角色 軟體開發專案在進行軟體架構的時候也需要同樣的角色,就像建築行業的傳統架構師一樣的角色。但是,對於軟體系統,不可能有乙個完全清晰的架構讓你去實現。在軟體專案中定義乙個架構要做什麼是非常困難的,要不建築行業的定義架構要難,主要因為三個因素: 缺乏慣例,建築業的歷史有上千年,可以參考更多的歷史建築;軟體業只有幾十年的歷史,而且設計都不是公開的。 無法確定的產品特性,建築是物理存在的,可以有確切的定義。軟體是一中抽象的產品,無法定義確切的摸樣。 系統的複雜性 乙個大點的軟體專案,通常包括多個架構師,很多都是在乙個領域有特長

《架構之美》閱讀筆記02

1.新 的定位 一開始就有系統結構清晰的總體檢視,所以,新的功能單元可以新增到正確的功能區域,而不是為了一時方便,隨意新增。這樣,有的時候開發者的工作會需要動寫腦筋,但是在系統維護和擴充套件時,就變得容易了 2.系統的一致性 頂層設計的良好風格和決定,為底層 好處,是統 一 整潔的。清晰的定義,確保...

《架構之美》閱讀筆記01

1丶架構是什麼 架構應該是一組結構,於一組設計規則,能減少複雜性。常見定義是,每種結構由各種型別的元件和關係組成,它們如何組合 相互呼叫 通訊 同步 及其其他互動。元件及元件之間的關係 2丶架構目的 確保利益相關人員的關注點能夠得到滿足,而在構想 計畫 構建和維護系統時,系統架構能夠處理複雜性。為了...

架構之美閱讀筆記03

在後來的章節中,又介紹了 混亂大都市 和 設計之城 兩個專案,將兩種比較,形象的說出了好的架構與差的架構的一些特性。混亂大都市 的最大問題是重複,它沒有考慮好軟體設計中最關鍵的品質,內聚和耦合。它的失敗經驗很值得我們借鑑 缺乏預見性和對架構的整體思考。版本的發布週期過於漫長 系統沒有彈性,可擴充套件...