官术网_书友最值得收藏!

  • 秒懂設(shè)計模式
  • 劉韜
  • 1160字
  • 2021-07-09 10:30:51

前言

相信軟件開發(fā)工作者都聽過一句名言:“不要重復(fù)造輪子?!睆哪撤N意義上講,程序中如果出現(xiàn)大量重復(fù)的代碼,則意味著這是一個缺乏設(shè)計的軟件項目。面向?qū)ο缶幊陶Z言的初學者寫代碼時往往是“東一榔頭、西一棒槌”,想到哪里寫到哪里,缺乏軟件架構(gòu)的全局觀,最終造成系統(tǒng)中充斥大量的冗余代碼,缺乏模塊化的設(shè)計,更談不上代碼的復(fù)用性。代碼量大并不能代表系統(tǒng)功能多么完備,更不能代表程序員多么努力與優(yōu)秀,反之,作為有思想高度的開發(fā)者一定要培養(yǎng)“偷懶”意識,想方設(shè)法以最少的代碼量實現(xiàn)最強的功能,這樣才是優(yōu)秀的設(shè)計。

設(shè)計模式主要研究的是“變”與“不變”,以及如何將它們分離、解耦、組裝,將其中“不變”的部分沉淀下來,避免“重復(fù)造輪子”,而對于“變”的部分則可以用抽象化、多態(tài)化等方式,增強軟件的兼容性、可擴展性。如果將編寫代碼比喻成建筑施工,那么設(shè)計模式就像是建筑設(shè)計。這就像樂高積木的設(shè)計理念一樣,圓形點陣式的接口具有極強的兼容性,能夠讓任意組件自由拼裝、組合,形成一個全新的物件。

有一定項目經(jīng)驗的開發(fā)人員都會有這樣的體會,隨著需求的增加與變動,軟件項目版本不斷升級,維護也變得越來越難,修改或添加一個很簡單的功能往往要耗費大量的時間與精力,牽一發(fā)而動全身,嚴重時甚至會造成整個系統(tǒng)的崩潰。優(yōu)秀的系統(tǒng)不單單在于其功能有多么強大,更應(yīng)該將各個模塊劃分清楚,并且擁有一套完備的框架,像開放式平臺一樣兼容對各種插件的擴展,讓功能變動或新增變得異常簡單,一勞永逸,這離不開對各種設(shè)計模式的合理運用。

設(shè)計模式并不局限于某種特定的編程語言,它是從更加宏觀的思想高度上展開的一種格局觀,是一套基于前人經(jīng)驗總結(jié)出的軟件設(shè)計指導(dǎo)思想,所以很多初學者覺得設(shè)計模式晦澀難懂,無從下手。本書秉承簡約與現(xiàn)實的風格,幫助讀者進行一場思想升華,將各種概念與理論化繁為簡,以通俗易懂、更貼近生活的實例與源碼詳細解析每種模式的結(jié)構(gòu)與機理。此外,文中配有大量生動形象的漫畫與圖表,幽默輕松的風格使原本刻板的知識鮮活起來,讓讀者能在輕松愉悅的學習氛圍中領(lǐng)悟設(shè)計模式的思想真諦。

本書共有25章,包含從面向?qū)ο蠡A(chǔ)概念及特性到創(chuàng)建型、結(jié)構(gòu)型、行為型設(shè)計模式的具體分析講解,再到軟件設(shè)計原則的歸納總結(jié),由淺入深、由表及里。

劉韜,筆名凸凹,現(xiàn)居西安,曾就讀于西安電子科技大學和澳大利亞查理斯杜大學,先后在軟通動力、中軟國際、匯豐軟件、艾默生科技資源等國內(nèi)外知名企業(yè)承擔軟件設(shè)計及開發(fā)工作,至今已有15余年工作經(jīng)驗,主要研究方向為軟件設(shè)計、數(shù)據(jù)庫設(shè)計、Web應(yīng)用程序設(shè)計、UI設(shè)計等,技術(shù)棧主要包括Java、C#、Spring框架、Micro Service架構(gòu)及組件、Linux、Oracle、MySQL、JavaScript、JQuery、Angular等。

由于書中涉及知識點較多,難免有疏漏之處,歡迎廣大讀者批評、指正,并多提寶貴意見。作者的反饋郵箱為liewtao@vip.qq.com,本書責任編輯聯(lián)系郵箱為wuxiaoyan@ptpress.com.cn。

主站蜘蛛池模板: 台山市| 泽州县| 祁东县| 闸北区| 都昌县| 炎陵县| 兴业县| 麻栗坡县| 广宗县| 鄂托克前旗| 丹巴县| 永昌县| 准格尔旗| 招远市| 竹溪县| 桐城市| 克山县| 府谷县| 西畴县| 明光市| 巴青县| 樟树市| 南和县| 新密市| 昭通市| 嘉祥县| 阜康市| 高青县| 丁青县| 平山县| 大田县| 邻水| 盘山县| 都兰县| 金寨县| 镇雄县| 定西市| 东海县| 神农架林区| 和静县| 澳门|