《設計模式實訓教程》是2012年清華大學出版社出版的圖書,作者是劉偉。本書通過大量項目實例讓讀者加深對GoF設計模式的理解,在學習模式的同時掌握如何在實際軟體開發中運用模式,並通過大量練習來強化對設計模式的理解和掌握。
基本介紹
- 中文名:設計模式實訓教程
- 作者:劉偉
- 定價:34元
- 印次:1-1
圖書信息,圖書簡介,前言,圖書目錄,
圖書信息
裝幀:平裝
印刷日期:2012-1-11
圖書簡介
本書共分6章,內容包括UML類圖實訓,面向對象設計原則實訓,創建型模式實訓,結構型模式實訓,行為型模式實訓。從第3章到第5章,結合實例和大量實訓練習學習如何在項目開發中使用設計模式; 第6章對設計模式的相關知識進行補充,提供了6個模式聯用解決方案,通過兩個綜合實例學習如何在套用開發中使用設計模式,同時提供了一些企業招聘過程中出現的面試和筆試試題並給出參考答案。
本書既可作為各類高等院校計算機和軟體相關專業本專科生和研究生軟體設計模式、軟體體系結構等課程教學輔導用書和教師參考用書,也可作為全國計算機技術與軟體專業技術資格(水平)考試輔導用書和軟體架構師、軟體工程師等開發人員的參考用書,還可以作為設計模式愛好者和自學者的習題集和實訓教程以及就業之前的複習用書。
前言
隨著面向對象技術的發展和廣泛套用,設計模式已成為面向對象開發人員的必備技能之一。無論是面向對象的初學者還是具有一定開發經驗的程式設計師,都可以通過對設計模式的學習和套用加深對面向對象思想的理解,開發出具有更好的可擴展性和復用性的軟體。筆者在多年的面向對象教學和實踐開發中也深刻體會到學習設計模式的意義,在教授C++、Java、C#等課程的同時,結合一些常用的設計模式可以讓學生更好地理解面向對象的特性、抽象層的作用、合成復用的優點等原本很抽象、較難理解的思想和概念。正如筆者經常和學生以及學員們說的: 掌握設計模式後,就會發現面向對象設計是一門藝術,就會發現有些模式是如此巧妙,就一定會受益於GoF所做的工作。
當前,在很多高校的軟體工程專業的本科或研究生培養方案中都設定了面向對象分析與設計、軟體設計模式、軟體體系結構等課程,不少企業也開始注重對員工面向對象編程思想和設計模式等的培訓,部分軟體培訓機構也將設計模式作為軟體工程師培訓課程的基本內容之一。在我國較為權威的全國計算機技術與軟體專業技術資格(水平)考試的系統架構設計師(高級)、軟體設計師(中級)等級別的考試中,關於設計模式的試題也占據一定的比例,近幾年軟體設計師考試題中固定有一道15分的設計模式大題,2009年開考的系統架構設計師考試中也有不少設計模式相關試題,筆者也有幸以湖南省第一、全國第四的成績成為第一批國家認證系統架構設計師。
近年來,筆者一直承擔中南大學軟體學院Java實訓、軟體體系結構、設計模式等課程的教學任務,同時也作為長沙創智新程教育技術有限公司的軟體工程專業課顧問承擔設計模式、系統分析和設計等課程的教學和教研工作,也給一些軟體企業提供UML和設計模式等課程的企業內訓,並主持和參與一些軟體項目的開發工作,從這些教學和開發工作中,筆者發現通過實例,尤其是結合軟體項目實例是學習和掌握設計模式的最佳途徑,而目前已出版的很多設計模式書籍大多通過一些生活實例來引入和學習設計模式,雖然可以讓讀者很輕鬆地學習,但很難做到深入理解和熟練運用,此外,部分教材缺少相應的練習來加深對所學模式的理解和掌握,有的書中雖有一些練習,但數量不多且針對性不強。因此,筆者一直想將這些年積累下來的一些實例整理成冊,於是本書誕生了。
1. 本書特色
本書是國內第一本設計模式實訓教程和習題集,通過大量項目實例讓讀者加深對GoF設計模式的理解,在學習模式的同時掌握如何在實際軟體開發中運用模式,並通過大量練習來強化對設計模式的理解和掌握。筆者整理了這些年在設計模式教學和企業項目開發經驗中積累的設計模式實訓素材,同時參考了大量已有的設計模式書籍和網站,廣泛收集各類設計模式實例和試題,包括歷年全國計算機技術與軟體專業技術資格(水平)考試試題、知名軟體公司招聘面試和筆試題、國內外高校設計模式課程考試試題等,同時結合實際項目設計了大量練習題,包括選擇題、模式代碼填空題、綜合分析題等多種題型,讓讀者在學習設計模式之餘檢驗學習效果並結合實例來鞏固所學知識。收集和整理的過程雖然很辛苦,也很耗時,但若能為我國軟體事業的發展和面向對象技術的推廣盡一份綿薄之力,所有付出都是值得的。
為了讓設計模式的初學者也能夠看懂本教程,在本書中的每一章前面都包含了“知識講解”單元,讓讀者可以較快了解模式的基本知識,再結合後續實例進行深入學習。當然,如果配有一本專門的設計模式教材來學習則效果更好,本書也是筆者另外一本設計模式書籍《設計模式》的配套習題集,部分實例來自《設計模式》每一章後的思考和練習題。如果在學習完《設計模式》中的每一個模式之後,再通過本書的練習來進一步鞏固,筆者相信會取得更好的學習效果。在本書中,針對每一個模式都提供了一個完整的實例,包括UML類圖、原始碼和實例分析,且每個模式都對應多道選擇題、一道代碼填空題和一道綜合分析題,所有練習都提供了參考答案,部分綜合分析題還提供了完整代碼,本書所有類圖均嚴格按照UML 2.0標準繪製,所有代碼均在JDK 1.6環境下通過測試且運行無誤。
2. 本書內容
本書包括6章: 第1章介紹UML類圖並通過實訓讓讀者掌握如何閱讀和繪製類圖,學習使用類圖來構造軟體的靜態模型; 第2章介紹7個常用的面向對象設計原則,結合實例學習如何使用這些原則對系統進行重構; 第3章介紹6個創建型設計模式,第4章介紹7個結構型設計模式,第5章介紹11個行為型設計模式,從第3章到第5章,結合實例和大量實訓練習來進行學習; 第6章對設計模式的相關知識進行補充,提供了6個模式聯用解決方案,並通過兩個綜合實例來學習如何在套用開發中使用設計模式,同時提供了一些企業招聘過程中出現的面試和筆試試題並給出參考答案。
3. 目標讀者
本書既可作為各類高等院校計算機和軟體相關專業本專科生和研究生軟體設計模式、軟體體系結構等課程教學輔導用書、實驗課教材和教師參考用書,也可作為全國計算機技術與軟體專業技術資格(水平)考試輔導用書和軟體架構師、軟體工程師等開發人員的參考用書,還可以作為企業內訓、設計模式愛好者和自學者的習題集和實訓教程以及就業之前的複習用書。
4. 感謝
由於本書是一本實訓教程和實戰手冊,涉及大量的實例及分析,這些實例的收集、整理和設計工作離不開眾多同事和學生的幫助,在此對他們一併表示感謝。感謝中南大學軟體學院胡志剛教授在百忙之中抽出寶貴時間對本書進行細緻的審校,感謝中南大學軟體學院江林、楊柳和中南大學信息科學與工程學院郭克華、王斌等在本書寫作過程中提出的寶貴意見和建議,感謝長沙創智新程教育技術有限公司任波、夏緒武、趙璟等參與部分內容的校稿工作,感謝唐磊、段玉冰、馬元文、李輝、袁磊、譚華、雷松等學生髮現本書中的文字紕漏和錯誤,感謝湖南科創信息技術股份有限公司彭宇波、劉劍峰等員工提供的一些企業套用實例,感謝我的愛人夏莉,她一直在我背後默默地付出,感謝我的父母和家人,他們給了我極大的支持。在編寫過程中我參考和引用了國內外很多書籍和網站的相關內容,個別實例和練習的初始原型也來源於網路,由於涉及的網站和網頁太多,沒有一一列舉,在此一併予以感謝。最後特別感謝清華大學出版社為本書出版所作出的努力。
由於時間倉促、學識有限,書中不足和疏漏之處難免,懇請廣大讀者將意見和建議通過清華大學出版社反饋給我,以便在後續版本中不斷改進和完善。
圖書目錄
第1章UML類圖實訓
1.1知識講解
1.1.1UML概述
1.1.2類與類的UML表示
1.1.3類之間的關係
1.2實訓實例
1.2.1類圖實例之圖書管理系統
1.2.2類圖實例之商場會員管理系統
1.3實訓練習
第2章面向對象設計原則實訓
2.1知識講解
2.1.1面向對象設計原則概述
2.1.2單一職責原則
2.1.3開閉原則
2.1.4里氏代換原則
2.1.5依賴倒轉原則
2.1.6接口隔離原則
2.1.7合成復用原則
2.1.8迪米特法則
2.2實訓實例
2.2.1單一職責原則實例分析
2.2.2開閉原則實例分析
2.2.3里氏代換原則實例分析
2.2.4依賴倒轉原則實例分析
2.2.5接口隔離原則實例分析
2.2.6合成復用原則實例分析
2.2.7迪米特法則實例分析
2.3實訓練習
第3章創建型模式實訓
3.1知識講解
3.1.1設計模式
3.1.2創建型模式概述
3.1.3簡單工廠模式
3.1.4工廠方法模式
3.1.5抽象工廠模式
3.1.6建造者模式
3.1.7原型模式
3.1.8單例模式
3.2實訓實例
3.2.1簡單工廠模式實例之圖形工廠
3.2.2工廠方法模式實例之日誌記錄器
3.2.3抽象工廠模式實例之資料庫操作工廠
3.2.4建造者模式實例之遊戲人物角色
3.2.5原型模式實例之快速創建工作周報
3.2.6單例模式實例之多文檔視窗
3.3實訓練習
第4章結構型模式實訓
4.1知識講解
4.1.1結構型模式概述
4.1.2適配器模式
4.1.3橋接模式
4.1.4組合模式
4.1.5裝飾模式
4.1.6外觀模式
4.1.7享元模式
4.1.8代理模式
4.2實訓實例
4.2.1適配器模式實例之算法適配
4.2.2橋接模式實例之跨平台視頻播放器
4.2.3組合模式實例之防毒軟體
4.2.4裝飾模式實例之界面顯示構件庫
4.2.5外觀模式實例之檔案加密
4.2.6享元模式實例之圍棋棋子
4.2.7代理模式實例之日誌記錄代理
4.3實訓練習
第5章行為型模式實訓
5.1知識講解
5.1.1行為型模式概述
5.1.2職責鏈模式
5.1.3命令模式
5.1.4解釋器模式
5.1.5疊代器模式
5.1.6中介者模式
5.1.7備忘錄模式
5.1.8觀察者模式
5.1.9狀態模式
5.1.10策略模式
5.1.11模板方法模式
5.1.12訪問者模式
5.2實訓實例
5.2.1職責鏈模式實例之線上文檔幫助系統
5.2.2命令模式實例之公告板系統
5.2.3解釋器模式實例之機器人控制程式
5.2.4疊代器模式實例之商品名稱遍歷
5.2.5中介者模式實例之溫度轉換器
5.2.6備忘錄模式實例之遊戲恢復點設定
5.2.7觀察者模式實例之股票變化
5.2.8狀態模式實例之銀行賬戶
5.2.9策略模式實例之電影票打折
5.2.10模板方法模式實例之資料庫操作
5.2.11訪問者模式實例之獎勵審批
5.3實訓練習
第6章模式聯用與綜合實例實訓
6.1設計模式補充知識
6.1.1反射與配置檔案
6.1.2GRASP模式
6.1.3架構模式與MVC
6.2模式聯用實訓
6.2.1適配器模式與橋接模式聯用
6.2.2組合模式與命令模式聯用
6.2.3外觀模式與單例模式聯用
6.2.4原型模式與備忘錄模式聯用
6.2.5觀察者模式與組合模式聯用
6.2.6訪問者模式、組合模式與疊代器模式聯用
6.3綜合實例實訓
6.3.1多人在線上射擊遊戲
6.3.2資料庫同步系統
6.4實訓練習
附錄A參考答案
A.1第1章實訓練習參考答案
A.2第2章實訓練習參考答案
A.3第3章實訓練習參考答案
A.4第4章實訓練習參考答案
A.5第5章實訓練習參考答案
A.6第6章實訓練習參考答案
參考文獻