
程傑
《大話設計模式》通篇都是以情景對話的形式,用多個小故事或編程示例來組織講解GoF(設計模式的經典名著——Design Patterns: Elements of Reusable Object-Oriented Software,中譯本名爲《設計模式——可複用面向對象軟件的基礎》的四位作者Erich Gamma、Richard Helm、Ralph Johnson,以及JohnVlissides,這四人常被稱爲GangofFour,即四人組,簡稱GoF)總結的23個設計模式。《大話設計模式》共分爲29章。其中,第1、3、4、5章着重講解了面向對象的意義、好處以及幾個重要的設計原則;第2章,以及第6到第28章詳細講解了23個設計模式;第29章是對設計模式的全面總結。附錄部分是通過一個例子的演變爲初學者介紹了面向對象的基本概念。《大話設計模式》的特色是通過小菜與大鳥的趣味問答,在講解程序的不斷重構和演變過程中,把設計模式的學習門檻降低,讓初學者可以更加容易地理解——爲什麼這樣設計纔是好的?是怎樣想到這樣設計的?以達到不但授之以“魚”,還授之以“漁”的目的。引導讀者體會設計演變過程中蘊藏的大智慧。
通俗易懂,適合作爲了解設計模式的一本入門讀物。 借用魯迅先生在《故鄉》中的一句話概括**設計模式**。 希望是本無所謂有,無所謂無的。 這正如編程的設計模式; 其實編程本沒有設計模式,用的人多了,也便成了設計模式。 究其緣由,皆爲"解耦"使然。「loose coupled」
書很好,適用於新手、小白。在AI的加持下,能夠更快速地理解。設計模式,需要根據場景選擇,不可爲“炫技”。
太好了這本書,把設計模式講的通俗易懂,拆解的很精細,給大佬跪了!打算去實踐一下,畢竟只靠看可不行。推薦,強烈推薦!
這是一本基於C#的設計模式入門書籍,可能因爲我自己也用C#做開發的緣故,感覺比之前看的《秒懂設計模式》更易理解。作者很用心,虛構了兩個分別代表大牛和菜鳥的人物,以對話教學的方式對設計模式的應用進行淺顯易懂的講解。值得多看幾遍。
書是一本好書,但是在微信讀書裏沒有最新版的(JAVA),只能導書進去看了。
優點是全文大白話,沒什麼佶屈聱牙的概念,基本看了就能懂爲什麼這個地方需要這麼設計,這樣設計帶來的好處是什麼。配合準備軟考的時候的速記口訣,很快就能把23種設計模式背下來創建型模式:單抽元件(建)廠結構型模式:外僑(橋)組員(元)帶(代)配飾行爲型模式:觀摩(模)對(迭)策,責令解放(訪),戒(介)忘臺(態)
設計模式學習的難度高在於它的概念中充滿着抽象的詞語,難以捉摸其作用,而本書則是讓每個設計模式都動了起來,並結合生活中的例子加以解釋,好活當賞!
長話短說,這本書是一本不錯的設計模式入門書籍,對話式教學,通俗簡單的語言讓這本書的閱讀門檻變得很低,對於大部分讀者閱讀時大概不會有什麼壓力。 但在如今這個時間節點,不算特別推薦這本書,拋開這本書的生活例子比較古早,對於設計模式的具體應用,大概是爲了保證通俗性,並沒有特別複雜,甚至可以說是爲了介紹設計模式而設計問題。具體的應用例子在一定程度上和這個設計模式真正的內涵稍微脫節。讀完了之後,你很多時候依然無法回答,這個設計模式是爲了解決什麼,實際應用是什麼。 如今在這個 ai 時代看這些計算機的書籍,(我們且不論未來 ai 到底如何)一部分原因就是讓自己在架構和思維上有一定的進步,如果只是泛泛的看,那不如讓 ai 收集資料輸出,亦或是直接交給 ai 來寫了,畢竟是淺嘗輒止的看,又有什麼分別呢。 那麼,有沒有相對面向入門又在一定程度上比較深刻的設計模式入門書籍呢?我不是在踩一捧一,感興趣的朋友可以看看 Game Programming Patterns,雖然看上去面向遊戲開發,實際上是非常貼合實際並且有趣,有用的。
不知道是書看少了還是怎樣,對前後邏輯不搭的技術類書籍極其沒有耐心,前面說某種實現方式有問題,你期待着好的解決方案,後面給出的實現卻依然是殘次品。 本書最大和唯一的亮點就是 1.5 節,將活字印刷和麪向對象進行了類比,進而深刻地說明了“可維護、可擴展、可複用”,非常精彩。 跟設計原則和設計模式有關的內容真的大可不看了,浪費時間,《Head First 設計模式》要好的多得多。
模式介紹:https://www.douban.com/doubanapp/dispatch?uri=/annotation/127070272/&dt_dapp=1 設計模式主要針對面向對象?書中全部採用面向對象的語言進行描述。c和c++的區別也主要體現在這裏,介紹面向過程從來不會提到那麼多的設計模式,而好的c很多也是按照面向對象來做的,最近在實戰c++,對其中有很多的體會:1. 接口:c很容易定義接口,c++因爲interface沒那麼常用(或者默認),所以模塊的接口不是那麼的清晰,即使去定義interface,也需要專門寫一遍,會顯得代碼囉嗦,開發代碼量變大。2. 設計模式: c中都是自然而然形成的設計模式?或許linux中的做法太經典,就把它當作參考,而自然而然的借鑑使用?c++搞那麼多設計模式,相似而又不同,還要去記憶?或許是不熟識的原因?3. 語言聖經:c不用考慮,以linux爲聖經,有歧義找linux內核實現,c++找誰?找STL?簡單的實現,搞的太複雜,是不是不太利於參考學習?linux是邏輯複雜,每個部分的實現都很簡單;STL是邏輯複雜,看起來每個部分的實現也一樣複雜,導致不太適合去借鑑做法。