圖書信息
- 名稱:聊聊架構(gòu)
- 作者:王概凱
- 出版:2017 年
- 字?jǐn)?shù):26 萬
個人感想
很有誠意的一本書,能感受到作者很用心,通讀之后建議以下兩類讀者閱讀:
- 和 IT 對接的「業(yè)務(wù)人員」。
- 和業(yè)務(wù)對接的「技術(shù)人員」。
豆瓣有書友說本書羅嗦,這也是本書的特色之一,作者在嘗試用生活中的示例說明技術(shù)。作為讀者對示例不一定認(rèn)同,但是作者的方法值得借鑒,特別是每天要和業(yè)務(wù)打交道的 IT 男。
對待技術(shù),作者立場更接近于業(yè)務(wù),更像不懂技術(shù)的老板:
無論是新的還是舊的技術(shù)、先進(jìn)的還是落后的技術(shù),只要場景合適,他們就會采納。因?yàn)?架構(gòu)師是技術(shù)的使用者,他們把技術(shù)當(dāng)作解決增長問題的手段和工具,而不會被技術(shù)束縛住。
那么,比技術(shù)更重要的是什么呢?
架構(gòu)是對業(yè)務(wù)生命周期的拆分,自然「業(yè)務(wù)的生命周期」就是「架構(gòu)的生命周期」。
做架構(gòu)的人必須親自體驗(yàn)業(yè)務(wù),感受業(yè)務(wù),才可能真正認(rèn)識業(yè)務(wù)的個性,真正認(rèn)識業(yè)務(wù)所面臨的問題。
是「業(yè)務(wù)」,技術(shù)是為業(yè)務(wù)服務(wù)的,為商業(yè)服務(wù)的:
技術(shù)人員如果要成為架構(gòu)師,就必須跳出技術(shù)的視角,換一個角度去看技術(shù)。
除了「業(yè)務(wù)」這個中心思想之外,以下章節(jié)也推薦閱讀:
- 第 19 章 如何寫好代碼
- 第 20 章 單元測試
- 第 24 章 軟件運(yùn)維
- 第 32 章 交易系統(tǒng)
擴(kuò)展閱讀
- 企業(yè)的組織架構(gòu)是如何影響技術(shù)架構(gòu)的?
- 《軟件架構(gòu)師的 12 項(xiàng)修煉》 本書面向已經(jīng)有技術(shù)基礎(chǔ)的架構(gòu)師,提升他們的關(guān)系技能、個人技能和商務(wù)技能。
讀書筆記
第 4 章 什么是架構(gòu)
架構(gòu)是對業(yè)務(wù)生命周期的拆分,自然業(yè)務(wù)的生命周期就是架構(gòu)的生命周期。
吃過苦頭才知道,架構(gòu)只有方案是沒有意義的,最重要的是把架構(gòu)落地執(zhí)行。
第 7 草 什么是抽象
做架構(gòu)的人必須親自體驗(yàn)業(yè)務(wù),感受業(yè)務(wù),才可能真正認(rèn)識業(yè)務(wù)的個性,真正認(rèn)識業(yè)務(wù)所面臨的問題。在理解業(yè)務(wù)個性的基礎(chǔ)上,才能夠談共性。
第 8 章 識別問題
架構(gòu)師都要有這個自覺:發(fā)現(xiàn)問題永遠(yuǎn)比解決問題更加重要。
架構(gòu)師的能力大部分會體現(xiàn)在對「是誰的問題」的識別上。
第 9 章 切分的原則
業(yè)務(wù)進(jìn)化的發(fā)生,也會導(dǎo)致新的架構(gòu)切分,新架構(gòu)和原來的架構(gòu)并沒有關(guān)系。
架構(gòu)切分的結(jié)果最終都會體現(xiàn)在組織架構(gòu)上,因?yàn)榧軜?gòu)的切分是對人利益的重新分配。
第 11 章 什么是架構(gòu)師
架構(gòu)的目的就是為了增長。
根據(jù)對不同生命周期的運(yùn)營情況,對未來的增長做一定的預(yù)判,提前做好規(guī)劃,做相應(yīng)的人員、技術(shù)的儲備——這就是戰(zhàn)略架構(gòu)。
架構(gòu)師工作的反饋,應(yīng)該由問題的解決效果,也就是增長的效果來決定。
架構(gòu)師必須深入到業(yè)務(wù)的核心領(lǐng)域,親身體會業(yè)務(wù)的痛點(diǎn),業(yè)務(wù)的個性,這樣他才能夠挖掘出業(yè)務(wù)的核心生命周期,才能夠做好拆分,才能夠做好架構(gòu)設(shè)計,做出的設(shè)計才是具備落地可能性的。
第 14 章 什么是軟件架構(gòu)
離開了組織架構(gòu),任何軟件架構(gòu)設(shè)計都是紙上談兵,因?yàn)榧軜?gòu)的核心生命周期就是架構(gòu)的執(zhí)行。
第 15 章 什么是軟件架構(gòu)師
人類架構(gòu)的核心就是組織架構(gòu),正確的組織架構(gòu)才能保證架構(gòu)的執(zhí)行。
無論是新的還是舊的技術(shù)、先進(jìn)的還是落后的技術(shù),只要場景合適,他們就會采納。因?yàn)榧軜?gòu)師是技術(shù)的使用者,他們把技術(shù)當(dāng)作解決增長問題的手段和工具,而不會被技術(shù)束縛住。
技術(shù)人員如果要成為架構(gòu)師,就必須跳出技術(shù)的視角,換一個角度去看技術(shù)。
第 16 章 業(yè)務(wù)、架構(gòu)和技術(shù)三者的關(guān)系
很多架構(gòu)師、技術(shù)人員主要專注于計算機(jī)相關(guān)的技術(shù),看不上業(yè)務(wù),背后的主要原因是對業(yè)務(wù)恐懼。
在架構(gòu)拆分的基礎(chǔ)之上,識別并平衡技術(shù)的能力,也是架構(gòu)師所要具備的能力之一。考慮的主要因素是長期的成本和收益。
和新技術(shù)最重要的配套就是人的配套,以及人的觀念的配套。
第 17 章 軟件研發(fā)
軟件是用來替代業(yè)務(wù)人員的,業(yè)務(wù)人員也會有意無意地抵抗這一點(diǎn)。
第 24 章 軟件運(yùn)維
生產(chǎn)故障時要優(yōu)先恢復(fù)用戶的正常訪問,而不是在生產(chǎn)環(huán)境探查問題的根本原因。生產(chǎn)環(huán)境的問題,基本都是變更造成的問題,優(yōu)先回退最近的變更,恢復(fù)業(yè)務(wù)的正常運(yùn)行。
第 29 章 產(chǎn)品
對于一個企業(yè)來說,如果這個企業(yè)的領(lǐng)導(dǎo)人對自己企業(yè)的愿景不夠清晰的話,往往會帶來一個嚴(yán)重的問題,就是這個企業(yè)的產(chǎn)品往往是模糊的。產(chǎn)品不清晰導(dǎo)致的結(jié)果就是:目標(biāo)人群不清楚,產(chǎn)品體系混亂,進(jìn)而導(dǎo)致組織架構(gòu)混亂,交易很難增長,企業(yè)也會陷入困境。
第 30 章 用戶
客戶這個概念更多的是關(guān)注在交易層面。
第 32 單 交易系統(tǒng)
重用訪問通道還是重用業(yè)務(wù)邏輯,二者只能選一個,無法兼得,毫無疑問要選重用業(yè)務(wù)邏輯。
第 33 章 事務(wù)
要打破大家對事務(wù)的理解才是根本,否則不管學(xué)多先進(jìn)的編程語言和多先進(jìn)的軟件開發(fā)的理念,碰到數(shù)據(jù)庫事務(wù)全都會現(xiàn)出原型,最后寫出來的應(yīng)用還是:數(shù)據(jù) + 對數(shù)據(jù)的操作,還是壓根靠數(shù)據(jù)庫的事務(wù)保障。