软件架构领域集大成者——《架构之美》读书笔记
一、讀后感
整部書由23位知名人士撰寫,每個人都久負軟件設計相關經驗,給出很多具有實際指導意義的架構設計實踐。有趣的是本書一直強調軟件架構的概念一致性,即架構設計需要上下文和諧與統一,但是編寫本書卻是集各家之言,很難保證他們所思所想是一致地,因此本書需要有一個清晰的框架準則來約束編寫者。這個框架準則就是編者要有相同的關注點:讓優秀的設計師和架構師來描述他們所選的軟件架構,一層層剝開架構的“心”,展示架構是如何讓軟件實現以下這些特性的。
閱讀本書能夠清晰地捕捉到文章脈絡,在前言中介紹了書的組成,在沒有看前言的 前提下,讀者也能夠從一章的敘述方式推演到其它章節的敘述方式(舉一反三),降低理解的成本,讓讀者心曠神怡。
全書有5部分,因為筆者是基于Web做后端開發,省略第三部分沒看。等有需要的時候再著重閱讀。極限編程的思想是不想太多,馬上碼代碼,把重點功能搞出來,設計可以延時來做。與之對應,在閱讀本書時,筆者采用極限閱讀的思想,先閱讀,然后摘抄和記筆記,分析可以延時考慮。
其實再思考一下架構這玩意和寫博客何其相似,博客需要清晰的框架,好的框架對讀者和作者都有好處,讀者能夠從優秀的博客中快速獲取到需要的內容,作者在寫作時能夠得到享受,如章節的擴展、補充、修改都是一件件容易的事情。
一、什么是軟件架構
正如《道德經》第一章所言:“道可道,非常道。”架構可以說是一種“道”,美的架構是“非常道”,需要經過長時間的訓練才可以執行和落地。軟件架構的定義不統一,但描述相對完備的如《Software Architecture in Practice》所講:“軟件架構是系統的一種結構或一組結構,包含軟件元素、這些元素的外部可見屬性以及元素之間的關系。‘外部可見’的屬性指的是其它元素對該元素的假設,諸如它提供的服務、執行時的特征、錯誤處理、共享資源的使用等”。
架構的表現形式是分層結構,特征是概念完整性。
架構設計保持概念完整性的好處:
- 讓開發者了解系統的一部分后,能夠迅速理解系統的其它部分;
- 讓開發者運用在系統的一部分工作經驗,來開發和維護系統的其它部分;
二、如何評估軟件架構
兩種評估方式:
- 通過建模或者模擬系統的一個或多個方面來確定架構的屬性
性能模型、失效樹模型等; - 通過對架構師提出質詢來評估(使用廣泛)
架構折中分析方法、主動復審方法。
三、軟件架構“名人堂”
| A-7E艦載飛行處理器 | 美國海軍研究實驗室 |
| 5ESS電話交換機 | 朗訊 |
| 萬維網 | 蒂姆·伯納斯-李(Tim Berners-Lee) |
| UNIX | 丹尼斯·里奇、肯尼思·湯普森 |
四、軟件架構師的職責
關注點包含:
五、重點語句摘抄
總結
以上是生活随笔為你收集整理的软件架构领域集大成者——《架构之美》读书笔记的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Java打怪升级道路
- 下一篇: 【项目管理/PMP/PMBOK第六版/新