來源:程序員書庫;
編譯自:https://codeburst.io/clean-architecture-by-robert-martin-a-book-review-3d1eb920e1ef、https://gist.github.com/ygrenzinger/14812a56b9221c9feca0b3621518635b等


衆所周知,前不久Bob叔的新書《架構整潔之道》火了,中文版一經出版,立馬在豆瓣獲得了8.7的高分。

有着50多年編程經驗的Bob叔想必不會讓我們失望,這本書是Clean書籍系列的又一佳作,另外兩本分別爲《代碼整潔之道》、《程序員的職業素養》,這三本書的分別講述:

《代碼整潔之道》教你寫出易讀、可擴展、可維護、可重用的代碼,《沒看過這本書,你都不知道你的代碼有多Low》

《代碼整潔之道:程序員的職業素養》教你怎樣變成一個有修養的程序員,有趣的是本書不涉及編碼技巧,而是身爲程序員所必需具備的軟技能和行爲準則方面,十分值得閱讀


這個系列的書籍,每一本我都忍不住想推薦!



《架構整潔之道》基本上是在描述軟件設計的一些理論知識,它只有幾個代碼示例,它本就不是關於代碼的書籍,而是關於系統架構設計。

我花了幾個月時間斷斷續續把這本書看完了,主要是在上下班的途中閱讀,這本書很適合這種方式閱讀,因爲章節不長也不復雜,一天讀個一兩章剛剛好。

這本書最大的優點就是它寫的很簡單,裏面有明確的例子而且結構很好,它被分成大小適中的章節,每個章節相互聯繫,緩緩緊扣,它不會給你灌輸太過高深的知識,但卻是理解體系架構的基礎 —— 它是什麼?什麼模式是好的,什麼模式是壞的,如何構建整個應用程序。

我覺得用圖片講解是最爲直觀的,下面就是書中最常見整潔架構的圖片:


這個系列的書籍,每一本我都忍不住想推薦!


這個系列的書籍,每一本我都忍不住想推薦!



在編程範式章節,Bob叔介紹了三種編程範式:

  • 結構化編程
  • 面向對象編程
  • 函數式編程


Bob叔告訴我們每個範例都從刪除了一些東西(goto語句、函數指針和賦值),目的是告訴我們不要做什麼,而不是做什麼。對於面向對象,他堅持多態性,使我們遵循依賴倒置。


這個系列的書籍,每一本我都忍不住想推薦!



總而言之,《架構整潔之道》大體分成三個部分:編程範式(結構化編程、面向對象編程和函數式編程),設計原則(主要是SOLID),以及軟件架構(其中講了很多高屋建翎的內容)。總體來說,這本書中的內容可以讓你從微觀(代碼層面)和宏觀(架構層面)兩個層面對整個軟件設計有一個全面的瞭解。

但就我而言,本書也是缺點的:

其一、過度使用縮寫,這是我在編程書裏最不喜歡的東西,雖然有些縮寫是常識性的,如SOLID原則,但書中經常會有自己使用的一些縮寫,如果你不是一直通讀這本書,很難記得住。

其二、沒有足夠的例子,本書幾乎沒有任何例子。第33章包含一個討論視頻銷售電子商務應用程序的示例。不過附錄,Bob書關於叔叔SOLID原則和清潔架構規則的部分,附有過去項目的例子。我認爲這是本書最有趣的部分。

最後,如果你想如果你想從這本書裏找到一些可以立馬解決具體問題的工程架構和技術,恐怕你會感到失望。這本書中更多的是一些基礎的理論知識,看完後你可能會比較“無感”,然而,當你碰過足夠多的壁,掉過足夠多的坑,經歷過足夠多的痛苦後,再來讀這本書時,你纔會發現本書中的這些“陳舊的知識”是多麼充滿智慧。

豆瓣書評:

@Vern:前半部分比較有感悟,可以結合工作內容做回顧。再讀SOLID確實很有用,果然大學時候是不能很好理解的。
@康康:大到系統,小到函數,都有架構的思想,所以在《代碼整潔之道》後迎來了《架構整潔之道》。全書非常接地氣,從理論到實踐都講的很透徹。
@garfield:old school的東西適合我這種老程序員,這裏講的東西發現還是10年前老司機們的那些論調,原來架構和操作系統一樣也是基礎理論,保質期真長。其中關於依賴倒置印象最深刻,真正認識到它的價值
@DrugCooker:受益匪淺,優秀的架構穿越時間,無關熱門技術與框架,是一門改善產品質量和stakeholders協作方式的技術與藝術。
相關文章