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