1. 新**的定位
一開始就有系統結構清晰的總體檢視,所以,新的功能單元可以新增到正確的功能區域,而不是為了一時方便,**隨意新增。(這樣,有的時候開發者的工作會需要動寫腦筋,但是在系統維護和擴充套件時,就變得容易了)
2. 系統的一致性
頂層設計的良好風格和決定,為底層**好處,**是統
一、整潔的。清晰的定義,確保沒有重複的**、介面慣例和常見設計模式被普遍使用、沒有特殊生命週期的物件和資源管理問題。(這個重點是在於減少功能重複)
3. 架構增長
沒有什麼是一層不變的,架構應該是方便擴充套件、可重構的。這樣,**可以快速增長,同時又保持好的內部結構,新增新的功能不是問題。
4. 延遲設計決定
這部分應該是需求問題。yagni(如果不是馬上需要,就不要去做),早期只設計中要的部分,將餘下的決定推遲。特別是,不確定的需求,需要猜測。
5. 保持品質
結對程式設計、對**複審、單元測試。對不正確、不合適的變更都要拒絕。開發者需要對設計負責。
6. 技術債務管理
什麼是技術債務?為了趕時間,對於不太重要的功能被砍掉,允許小的**"瑕疵"存在,發布時避免高風險的改動。這些都應該被標記為技術債務。
應該選擇合適的時間,及時集中清理這些技術債務,在後續版本中修改。
7. 單元測試 打造設計
單元測試在很大程度上定性了**設計,它迫使我們實現好的結構,保證可測性。
8. 遵守設計
新的成員可以比較容易地拿起**開始工作。開發團隊動態地遵守架構設計,專案原則規定沒有人"擁有"某部分設計,而是所有人都應該寫出高品質的**,可以改動系統的所有地方。
閱讀《架構之美》筆記02
在了解作者之後再說這本書。去架構設計乙個系統的時候,首先考慮的不是這個系統有多少個功能點,而應該是 1.執行在windows還是linux上,選擇的是tomcat還是jetty 2.你想支援的多少併發使用者的請求 3.是構建於內網還是外部易可訪問,需要怎麼樣的安全性要求 4.是吞吐量優先還是要求高響...
《架構之美》閱讀筆記02
首先我看了關於混亂大都市這一節,了解了微觀層面特點沒有統一的概念將不同的部分組織起,風格不一致控制流無法 即控制流的流向很複雜,額外的資料快取,其目的讓資料停留在更方便的地方 但是,容易造成資料的不一致性,維護或擴充套件不方便 沒有人了解整個系統,沒有任何文件,巨集觀層面特點,系統沒有彈性,無法變更...
架構之美閱讀筆記02
接著讀架構之美,對於這樣的書真是不容易下心去讀,尤其又是在這美好的寒假時光裡。這次看了下第二章,感覺第二章依舊是引入階段,也就是前戲,繼續講述架構。而且指向了有架構可尋的一些好處,我看出來也就是這樣的了。第二章大致是講兩個系統的比較,功能類似,但是結局不同。首先看混亂大都市,沒有統一的概念將不同的部...