《大話設計模式》是2007年清華大學出版社出版的圖書,作者是程傑。本書中以情景對話的形式,用多個小故事或編程示例來組織講解GoF總結的23個設計模式。
基本介紹
內容簡介,編輯推薦,作者簡介,圖書目錄,
內容簡介
本書共分為29章。其中,第1、3、4、5章著重講解了面向對象的意義、好處以及幾個重要的設計原則;第2章,以及第6到第28章詳細講解了23個設計模式;第29章是對設計模式的全面總結。附錄部分是通過一個例子的演變為初學者介紹了面向對象的基本概念。本書的特色是通過小菜與大鳥的趣味問答,在講解程式的不斷重構和演變過程中,把設計模式的學習門檻降低,讓初學者可以更加容易地理解——為什麼這樣設計才是好的?是怎樣想到這樣設計的?以達到不但授之以“魚”,還授之以“漁”的目的。引導讀者體會設計演變過程中蘊藏的大智慧。
編輯推薦
感受設計演變過程中所蘊含的大智慧,體會樂與怒的程式人生中值得回味的一幕幕。
設計模式的趣味解讀,面向對象的深入剖析。在詼諧與溫馨中做一次面向對象編程思維的體操。
本書是準備攀登面向對象編程高峰朋友們的引路人和提攜者;本書是學習、體會和領悟了眾多大師智慧結晶後的圖書作品;本書是你深入理解和感受GoF的《設計模式》及其它大師作品的必備書籍;本書授之以“魚”,更授之以“漁”。本書作者集多年實際項目開發經驗和豐富教學培訓經驗於一身,準確把握住編程初學者的視角,以淺顯幽默的語言向讀者詮釋了面向對象設計模式的精髓。
《大話設計模式》獲得榮譽和獎項:
榮獲互動出版網評選的2008年度十大暢銷經典第4名
榮獲噹噹網五星暢銷圖書榜第3名
榮獲第八屆全國高校出版社優秀暢銷書獎一等獎
榮獲CSDN評選的2007年度十大精品圖書第1名
本書2007年12月上市,已八次印刷,實銷已達3萬冊。
本書自上市以來,獲得廣大讀者一致高度評價。
作者簡介
程傑,高級軟體工程師&高級培訓講師。從事軟體開發一線工作近八年時間。曾在申銀萬國證券公司、上海楊浦區政府、朝華集團下屬網遊公司、香港晨興集團等多行業項目開發中擔任主程及項目負責人,有豐富的大中型軟體開發經驗,以及多年的軟體設計與項目管理經驗。曾任加拿大慧橋培訓中心金牌講師,主持.NET高級軟體工程師的培訓工作;早年從事高中數學教學工作,曾在江蘇常州重點高中任教時獲得過市教學一等獎,這些教學和培訓經歷讓作者對如何以易懂的語言講解艱深的技術知識有了深刻的理解。
圖書目錄
第1章 代碼無錯就是優?——簡單工廠模式
1.1 面試受挫
1.2 初學者代碼毛病
1.3 代碼規範
1.4 面向對象編程
1.5 活字印刷,面向對象
1.6 面向對象的好處
1.7 複製vs.復用
1.8 業務的封裝
1.9 緊耦合vs.松耦合
1.10 簡單工廠模式
1.11 UML類圖
第2章 商場促銷——策略模式
2.1 商場收銀軟體
2.2 增加打折
2.3 簡單工廠實現
2.4 策略模式
2.5 策略模式實現
2.6 策略與簡單工廠結合
2.7 策略模式解析
第3章 拍攝UFO——單一職責原則
3.1 新手機
3.2 拍攝
3.3 沒用的東西
3.4 單一職責原則
3.5 方塊遊戲的設計
3.6 手機職責過多嗎?
第4章 考研求職兩不誤——開放-封閉原則
4.1 考研失敗
4.2 開放-封閉原則
4.3 何時應對變化
4.4 兩手準備,並全力以赴
第5章 會修電腦不會修收音機?——依賴倒轉原則
5.1 MM請求修電腦
5.2 電話遙控修電腦
5.3 依賴倒轉原則
5.4 里氏代換原則
5.5 修收音機
第6章 穿什麼有這么重要?——裝飾模式
6.1 穿什麼有這么重要?
6.2 小菜扮靚第一版
6.3 小菜扮靚第二版
6.4 裝飾模式
6.5 小菜扮靚第三版
6.6 裝飾模式總結
第7章 為別人做嫁衣——代理模式
7.1 為別人做嫁衣!
7.2 沒有代理的代碼
7.3 只有代理的代碼
7.4 符合實際的代碼
7.5 代理模式
7.6 代理模式套用
7.7 秀才讓小六代其求婚
第8章 雷鋒依然在人間——工廠方法模式
8.1 再現活雷鋒
8.2 簡單工廠模式實現
8.3 工廠方法模式實現
8.4 簡單工廠vs.工廠方法
8.5 雷鋒工廠
第9章 簡歷複印——原型模式
9.1 誇張的簡歷
9.2 簡歷代碼初步實現
9.3 原型模式
9.4 簡歷的原型實現
9.5 淺複製與深複製
9.6 簡歷的深複製實現
9.7 複製簡歷vs.手寫求職信
第10章 考題抄錯會做也白搭——模板方法模式
10.1 選擇題不會做,蒙唄!
10.2 重複=易錯+難改
10.3 提煉代碼
10.4 模板方法模式
10.5 模板方法模式特點
10.6 主觀題,看你怎么蒙
第11章 無熟人難辦事?——迪米特法則
11.1 第一天上班
11.2 無熟人難辦事
11.3 迪米特法則
第12章 牛市股票還會虧錢?——外觀模式
12.1 牛市股票還會虧錢?
12.2 股民炒股代碼
12.3 投資基金代碼
12.4 外觀模式
12.5 何時使用外觀模式
第13章 好菜每回味不同——建造者模式
13.1 炒麵沒放鹽
13.2 建造小人一
13.3 建造小人二
13.4 建造者模式
13.5 建造者模式解析
13.6 建造者模式基本代碼
第14章 老闆回來,我不知道——觀察者模式
14.1 老闆回來?我不知道!
14.2 雙向耦合的代碼
14.3 解耦實踐一
14.4 解耦實踐二
14.5 觀察者模式
14.6 觀察者模式特點
14.7 觀察者模式的不足
14.8 事件委託實現
14.9 事件委託說明
14.10 石守吉失手機後的委託
第15章 就不能不換DB嗎?——抽象工廠模式
15.1 就不能不換DB嗎?
15.2 最基本的數據訪問程式
15.3 用了工廠方法模式的數據訪問程式
15.4 用了抽象工廠模式的數據訪問程式
15.5 抽象工廠模式
15.6 抽象工廠模式的優點與缺點
15.7 用簡單工廠來改進抽象工廠
15.8 用反射+抽象工廠的數據訪問程式
15.9 用反射+配置檔案實現數據訪問程式
15.10 無痴迷,不成功
第16章 無盡加班何時休——狀態模式
16.1 加班,又是加班!
16.2 工作狀態-函式版
16.3 工作狀態-分類版
16.4 方法過長是壞味道
16.5 狀態模式
16.6 狀態模式好處與用處
16.7 工作狀態-狀態模式版
第17章 在NBA我需要翻譯——適配器模式
17.1 在NBA我需要翻譯!
17.2 適配器模式
17.3 何時使用適配器模式
17.4 籃球翻譯適配器
17.5 適配器模式的.NET套用
17.6 扁鵲的醫術
第18章 如果再回到從前——備忘錄模式
18.1 如果再給我一次機會……
18.2 遊戲存進度
18.3 備忘錄模式
18.4 備忘錄模式基本代碼
18.5 遊戲進度備忘
第19章 分公司=一部門——組合模式
19.1 分公司不就是一部門嗎?
19.2 組合模式
19.3 透明方式與安全方式
19.4 何時使用組合模式
19.5 公司管理系統
19.6 組合模式好處
第20章 想走?可以!先買票——疊代器模式
20.1 乘車買票,不管你是誰!
20.2 疊代器模式
20.3 疊代器實現
20.4 .NET的疊代器實現
20.5 疊代高手
第21章 有些類也需計畫生育——單例模式
21.1 類也需要計畫生育
21.2 判斷對象是否是null
21.3 生還是不生是自己的責任
21.4 單例模式
21.5 多執行緒時的單例
21.6 雙重鎖定
21.7 靜態初始化
第22章 手機軟體何時統一——橋接模式
22.1 憑什麼你的遊戲我不能玩
22.2 緊耦合的程式演化
22.3 合成/聚合復用原則
22.4 松耦合的程式
22.5 橋接模式
22.6 橋接模式基本代碼
22.7 我要開發“好”遊戲
第23章 烤羊肉串引來的思考——命令模式
23.1 吃烤羊肉串!
23.2 燒烤攤vs.燒烤店
23.3 緊耦合設計
23.4 松耦合設計
23.5 松耦合後
23.6 命令模式
23.7 命令模式作用
第24章 加薪非要老總批?——職責鏈模式
24.1 老闆,我要加薪!
24.2 加薪代碼初步
24.3 職責鏈模式
24.4 職責鏈的好處
24.5 加薪代碼重構
24.6 加薪成功
第25章 世界需要和平——中介者模式
25.1 世界需要和平!
25.2 中介者模式
25.3 安理會做中介
25.4 中介者模式優缺點
第26章 項目多也別傻做——享元模式
26.1 項目多也別傻做!
26.2 享元模式
26.3 網站共享代碼
26.4 內部狀態與外部狀態
26.5 享元模式套用
第27章 其實你不懂老闆的心——解釋器模式
27.1 其實你不懂老闆的心
27.2 解釋器模式
27.3 解釋器模式好處
27.4 音樂解釋器
27.5 音樂解釋器實現
27.6 料事如神
第28章 男人和女人——訪問者模式
28.1 男人和女人!
28.2 最簡單的編程實現
28.3 簡單的面向對象實現
28.4 用了模式的實現
28.5 訪問者模式
28.6 訪問者模式基本代碼
28.7 比上不足,比下有餘
第29章 OOTV杯超級模式大賽——模式總結
29.1 演講任務
29.2 報名參賽
29.3 超模大賽開幕式
29.4 創建型模式比賽
29.5 結構型模式比賽
29.6 行為型模式一組比賽
29.7 行為型模式二組比賽
29.8 決賽
29.9 夢醒時分
29.10 沒有結束的結尾
附錄 A 培訓實習生——面向對象基礎
A.1 培訓實習生
A.2 類與實例
A.3 構造方法
A.4 方法重載
A.5 屬性與修飾符
A.6 封裝
A.7 繼承
A.8 多態
A.9 重構
A.10 抽象類
A.11 接口
A.12 集合
A.13 泛型
A.14 委託與事件
A.15 客套
附錄 B 參考文獻