秒懂設計模式

秒懂設計模式

作者: 劉韜
出版社: 碁峰資訊
出版在: 2021-12-13
ISBN-13: 9786263240261
ISBN-10: 6263240261
裝訂格式: 平裝
總頁數: 288 頁





內容描述


什麼是設計模式?
設計模式並不局限於某種特定的程式語言,它是一套基於前人經驗總結出的軟體設計指導原則,所以很多初學者覺得設計模式晦澀難懂,無從下手。本書秉承簡約與現實的風格,幫助讀者理解設計模式的概念。

輕鬆、幽默,閱讀無負擔
本書以輕鬆、幽默、淺顯易懂的方式,從物件導向程式設計、物件導向三大特性的理論基礎做開場,然詳細地講解了23種設計模式的概念及結構機理,最後以六大設計原則收尾,全面地解析歸納了軟體設計準則,參透設計模式的本質。

貼近生活,淺顯易懂
每章都有貼近生活的真實範例,搭配生動活潑的插圖,再結合相關範例程式實戰演練,循序漸進、深入淺出,引導讀者領略設計模式的精髓。  

<序>
相信軟體開發工作者都聽過一句名言:「不要重複造輪子」。從某種意義上講,程式中如果出現大量重複的程式碼,則意味著這是一個缺乏設計的軟體。物件導向程式語言的初學者寫程式碼時,往往有想到哪裡寫到哪裡的毛病,缺乏軟體架構的大局觀,最終造成系統中充斥大量的冗餘程式碼,缺乏模組化的設計,更談不上程式碼的重用。程式碼量大並不能代表系統功能多麼完備,更不能代表程式設計師多麼努力與優秀,反之,作為有思想高度的開發者一定要培養「偷懶」意識,竭盡心力以最少的程式碼量實現最強的功能,這樣才是優秀的設計。
設計模式主要研究的是「變」與「不變」,以及如何將它們分離、解耦、組裝,將其中「不變」的部分沉澱下來,避免「重複造輪子」,而對於「變」的部分則可以用抽象化、多型化等方式,增強軟體的相容性、可擴充性。如果將編寫程式碼比喻成建築施工,那麼設計模式就像是建築設計。這就像樂高積木的設計理念一樣,圓形點陣式的介面具有極強的相容性,能夠讓任意元件自由拼裝、組合,形成一個全新的物件。
有一定專案經驗的開發人員都會有這樣的體會,隨著需求的增加與變動,軟體版本不斷升級,維護也變得越來越難,修改或增加一個很簡單的功能往往要耗費大量的時間與精力,牽一髮而動全身,嚴重時甚至會造成整個系統的崩潰。優秀的系統不單單在於其功能有多麼強大,更應該將各個模組劃分清楚,並且擁有一套完備的框架,像開放式平台一樣相容對各種外掛程式的擴展,讓功能變動或新增變得異常簡單,一勞永逸,這離不開對各種設計模式的合理運用。
設計模式並不局限於某種特定的程式語言,它是從更加宏觀的思想高度上展開的一種大局觀,是一套基於前人經驗總結出的軟體設計指導原則,所以很多初學者覺得設計模式晦澀難懂,無從下手。本書秉承簡約與現實的風格,幫助讀者將各種概念與理論化繁為簡,以通俗易懂、更貼近生活的實例與原始碼詳細解析每種模式的結構與機理。此外,文中配有大量生動具體的漫畫與圖表,幽默輕鬆的風格使原本刻板的知識鮮活起來,讓讀者能夠輕鬆愉快地學習與理解設計模式。


目錄大綱


第1章|初探

建立篇
第2章|單例
第3章|原型
第4章|工廠方法
第5章|抽象工廠
第6章|建造者

結構篇
第7章|門面
第8章|組合
第9章|裝飾器
第10章|轉接器
第11章|享元
第12章|代理
第13章|橋接

行為篇
第14章|樣板方法
第15章|迭代器
第16章|責任鏈
第17章|策略
第18章|狀態
第19章|備忘錄
第20章|中介
第21章|指令
第22章|訪問者
第23章|觀察者
第24章|解譯器
第25章|終道


作者介紹


劉韜
筆名凸凹。先後在中軟國際、匯豐軟件、艾默生等知名企業擔任軟體設計及開發工作,至今已有超過15年的工作經驗,主要研究方向為軟體架構、資料庫、Web應用及前端設計。




相關書籍

Spring 5 Design Patterns

作者 Dinesh Rajput

2021-12-13

The Agile Codex: Re-Inventing Agile Through the Science of Invention and Assembly

作者 McCormick Michael

2021-12-13

精通 Git, 2/e (Pro Git, 2/e)

作者 [美] 斯科特·查康 本·斯特勞布

2021-12-13