軟體系統可以通過行為和架構兩個維度來實現實際價值
7.1行為價值
包括需求的實現,以及可用性保障(效能、穩定性),是最直觀的價值
7.2架構價值
軟體系統必須靈活,必須容易被修改
7.3架構價值是否是必須要有的?
如果業務是明確的、穩定的,架構的價值就可以忽略不計;但業務通常是不明確的、飛速發展的,這時架構就無比重要
7.4哪個價值維度更重要
第乙個價值維度:系統行為,是緊急的,但是並不總是特別重要;第二個價值維度,系統架構,是重要的,但是並不總是特別緊急
如果忽視軟體架構的價值,系統將會原來越難以維護,終有一天,系統將會變得再也無法修改,導致:重構!
7.5只關注行為價值帶來的問題
當我們只關注行為價值,不關注架構價值時,會發生什麼事情?這是書中記錄的乙個真實案例,隨著版本迭代,工程師團隊的規模持續增長,但總**行數卻趨於穩定
相對應的,每行**的變更成本公升高、工程師的生產效率降低。從老闆的視角,就是公司的成本增長迅猛,如果營收跟不上就要開始賠錢。
7.6如何處理好行為價值和架構價值的關係
重要緊急矩陣中,做事的順序是這樣的:1.重要且緊急 > 2.重要不緊急 > 3.不重要但緊急 > 4.不重要且不緊急。實現行為價值的需求通常是pd提出的,都比較緊急,
並不總是特別重要;架構價值的工作內容,通常是開發同學提出的,都很重要但基本不是很緊急,短期內不做也死不了。所以行為價值的事情落在1和3(重要且緊急
不重要但緊急),而架構價值落在2(重要不緊急)。我們開發同學,在低頭敲**之前,一定要把雜糅在一起的1和3分開,把我們架構工作插進去。
規劃如何將系統切分成元件,並安排好元件之間的排列關係,以及元件之間互相通訊的方式
架構師追求的目標是最大限度地降低構建和維護乙個系統所需的人力資源。
最消耗人力資源的是系統中存在的耦合:1、過早做出的、不成熟的決策所導致的耦合;2、是那些與系統的業務需求無關的決策,包括要採用的框架、資料庫、web
器、工具庫、依賴注入等。
解決方案:通過劃清邊界,可以推遲和延後一些細節性的決策,最終會為我們節省大量的時間、避免大量的問題。
《架構整潔之道》閱讀筆記03
接著上一次的 架構整潔之道 閱讀筆記02繼續寫最後一篇 1.軟體開發技術發展的歷史 就是乙個如何想法設法方便地增加外掛程式,從而構建乙個可擴充套件 可維護的系統架構的故事。2.系統的核心業務邏輯必須和其他元件隔離,保持獨立,其他元件要麼可以去掉的,要麼有多種實現的。業務邏輯是乙個系統存在的意義,屬於...
《架構整潔之道》閱讀筆記01
我閱讀的第一本名著是電子版的 架構整潔之道 網上對這本書的評價很好,閱讀後我總結了自己的一些閱讀筆記和心得體會,按點論述一下 1.1普通程式設計師 就是正確處理業務和資料計算,讓 跑起來 1.2工程師 寫的 易讀 易維護 易擴充套件 可重用 效率高 1.3架構師 權衡 決策 簡化 靈活 應對複雜度 ...
《架構整潔之道》讀書筆記(二)
在本書的第二部分重新審視了一下三種基本的程式設計正規化 結構化程式設計 物件導向的程式設計與函式式程式設計,並提出了乙個重要觀點 從1946年圖靈為電子計算機寫下第一行 到現在,軟體的基本規則一直沒有變過。電腦程式的最基本構件始終是順序 執行 選擇 遞迴和間接應用 indirection 程式設計正...