本書圍繞面向對象的三大機制(封裝、繼承、多態)和面向對象的基本原則,從介紹設計模式的基本概念出發,結合作者多年教學與項目開發的實際經驗,從GoF的23種常見設計模式中精心挑選了17種進行詳細講解。每種模式都對應了電子商務系統開發中的應用案例。這些案例易于理解,緊緊圍繞模式的核心思想,具有實用性和啟發性,有助于讀者不斷領悟設計模式的內涵。
全書分為4個部分,共23章,內容涉及了設計模式基礎、創建型設計模式(包括工廠方法模式、抽象工廠模式等5種)、結構型設計模式(裝飾者模式、適配器模式等6種)、行為型設計模式(包括觀察者模式、策略模式等6種),每種模式都從動機、定義、結構、實例、應用效果這幾方面進行詳細介紹,每章都配有大量的習題,附錄部分給出了習題答案。
本書層次結構清晰,通俗易懂、實用性強,特色是通過介紹各種模式在電子商務系統開發中的應用案例,起到了拋磚引玉的作用,啟發讀者在“互聯網+”的時代背景下進一步思考設計模式在Web應用、電子商務、辦公自動化、商務智能等系統開發中的靈活運用。
本書適用面廣,可作為本科或高職高專電子商務、計算機科學與技術、信息系統與信息管理、軟件工程等專業的程序設計類課程的教材,也是設計模式自學者的理想用書。
本書層次結構清晰,通俗易懂、實用性強,特色是通過介紹各種模式在電子商務系統開發中的應用案例,起到了拋磚引玉的作用,啟發讀者在“互聯網+”的時代背景下進一步思考設計模式在Web應用、電子商務、辦公自動化、商務智能等系統開發中的靈活運用。
本書適應面廣,可作為本科或高職高專電子商務、計算機科學與技術、信息系統與信息管理、軟件工程等專業的程序設計類課程的教材,也是設計模式自學者的理想用書。
第一部分設計模式基礎
第1章設計模式概述
1.1設計模式的定義與起源
1.1.1模式與設計模式
1.1.2模式的起源
1.1.3設計模式的基本要素
1.2為什么要使用設計模式
1.2.1設計模式的作用
1.2.2如何正確地學習和使用設計模式
1.3GoF的23種設計模式
1.3.1設計模式的分類
1.3.223種設計模式的簡單描述
1.4設計模式與架構、框架的區別與聯系
1.4.1什么是架構
1.4.2什么是框架
1.4.3設計模式、架構、框架的比較
1.5本章習題
第2章設計模式與UML建模
2.1UML建模簡介
2.2UML類圖
2.2.1類與類圖
2.2.2類圖中的基本元素符號
2.2.3類與類之間的關系
2.3UML建模實例分析
2.3.1實例分析1——聊天系統登錄模塊
2.3.2實例分析2——某C/S軟件注冊模塊
2.4本章習題
第3章面向對象的設計原則
3.1軟件設計的“七宗罪”
3.2面向對象的三大機制
3.2.1封裝
3.2.2繼承
3.2.3多態
3.3面向對象基本原則
3.3.1單一職責原則
3.3.2開閉原則
3.3.3里氏替換原則
3.3.4接口隔離原則
3.3.5依賴倒置原則
3.4本章習題
第二部分創建型設計模式
第4章工廠方法模式
4.1從簡單工廠模式到工廠方法模式
4.1.1簡單工廠模式
4.1.2工廠方法模式
4.2工廠方法模式的結構及其代碼示例
4.2.1工廠方法模式的結構
4.2.2工廠方法模式的代碼示例——筆記本電腦生產的模擬
4.3工廠方法模式在電子商務系統中的應用
4.3.1問題描述
4.3.2使用工廠方法模式實現消息通知的發送
4.3.3工廠方法模式的應用效果分析
4.4本章習題
第5章抽象工廠模式
5.1抽象工廠模式概述
5.1.1抽象工廠模式的動機
5.1.2抽象工廠模式的定義
5.2抽象工廠模式的結構及其代碼示例
5.2.1抽象工廠模式的結構
5.2.2抽象工廠模式的代碼示例——筆記本電腦生產商業務的拓展
5.3抽象工廠模式在電子商務系統中的應用
5.3.1問題描述
5.3.2抽象工廠模式在電子商務系統數據訪問層的使用
5.3.3抽象工廠模式的應用效果分析
5.4本章習題
第6章建造者模式
6.1建造者模式概述
6.1.1建造者模式的動機
6.1.2建造者模式的定義
6.2建造者模式的結構及其代碼示例
6.2.1建造者模式的結構
6.2.2建造者模式的代碼示例——計算機生產過程的模擬
6.3建造者模式在電子商務系統中的應用
6.3.1問題描述
6.3.2使用建造者模式實現電子商務系統中的數據導出
6.3.3建造者模式的應用效果分析
6.4本章習題
第7章單例模式
7.1單例模式概述
7.1.1單例模式的動機
7.1.2單例模式的定義
7.2單例模式的結構及其代碼示例
7.2.1單例模式的結構
7.2.2單例模式的代碼示例——Windows回收站的創建模擬
7.3單例模式在電子商務系統開發中的應用
7.3.1問題描述
7.3.2使用單例模式編寫網站計數器程序
7.3.3單例模式的應用效果分析
7.4本章習題
第8章原型模式
8.1原型模式概述
8.1.1原型模式的動機
8.1.2原型模式的定義
8.2原型模式的結構及其代碼示例
8.2.1原型模式的結構
8.2.2原型模式的代碼示例——簡歷克隆
8.3原型模式在電子商務系統中的應用
8.3.1問題描述
8.3.2使用原型模式實現廣告郵件的克隆
8.3.3原型模式的應用效果分析
8.4本章習題
第9章創建型模式總結
9.1創建型模式小結
9.2創建型模式綜合練習
第三部分結構型設計模式
第10章裝飾者模式
10.1裝飾者模式概述
10.1.1裝飾者模式的動機
10.1.2裝飾者模式的定義
10.2裝飾者模式的結構及其代碼示例
10.2.1裝飾者模式的結構
10.2.2裝飾者模式的代碼示例——早餐店訂單系統
10.3裝飾者模式在電子商務系統中的應用
10.3.1問題描述
10.3.2使用裝飾者模式實現電子商務系統的計價功能
10.3.3裝飾者模式的應用效果分析
10.4本章習題
第11章適配器模式
11.1適配器模式概述
11.1.1適配器模式的動機
11.1.2適配器模式的定義
11.2適配器模式的結構及其代碼示例
11.2.1類適配器模式的結構
11.2.2類適配器模式的代碼示例——學生管理系統的維護
11.2.3對象適配器模式的結構
11.2.4對象適配器模式的代碼示例——插座轉換器的模擬
11.2.5對象適配器模式和類適配器模式的比較
11.3適配器模式在電子商務系統中的應用
11.3.1問題描述
11.3.2使用適配器模式實現電子商務系統功能的擴展
11.3.3適配器模式的應用效果分析
11.4本章習題
第12章享元模式
12.1享元模式概述
12.1.1享元模式的動機
12.1.2享元模式的定義
12.2享元模式的結構及其代碼示例
12.2.1單純享元模式的結構
12.2.2單純享元模式的代碼示例——文本編輯器中的應用
12.2.3復合享元模式的結構
12.2.4復合享元模式的代碼示例——文本編輯器中的應用
12.3享元模式在電子商務系統中的應用
12.3.1問題描述
12.3.2使用享元模式實現淘寶網網店模板的共享
12.3.3享元模式的應用效果分析
12.4本章習題
第13章代理模式
13.1代理模式概述
13.1.1代理模式的動機
13.1.2代理模式的定義
13.2代理模式的結構及其代碼示例
13.2.1代理模式的結構
13.2.2代理模式的代碼示例——票務中心代購車票
13.3代理模式在電子商務系統中的應用
13.3.1問題描述
13.3.2遠程代理示例——商品信息查詢Web Service
服務器端及客戶端的實現
13.3.3代理模式的應用效果分析
13.4本章習題
第14章橋接模式
14.1橋接模式概述
14.1.1橋接模式的動機
14.1.2橋接模式的定義
14.2橋接模式的結構及其代碼示例
14.2.1橋接模式的結構
14.2.2橋接模式的代碼示例——日志記錄工具的開發
14.3橋接模式在電子商務系統中的應用
14.3.1問題描述
14.3.2使用橋接模式實現電子商務系統中的發送消息通知的功能
14.3.3橋接模式的應用效果分析
14.4本章習題
第15章組合模式
15.1組合模式概述
15.1.1組合模式的動機
15.1.2組合模式的定義
15.2組合模式的結構及其代碼示例
15.2.1組合模式的結構
15.2.2組合模式的代碼示例——二叉樹遍歷
15.3組合模式在電子商務系統中的應用
15.3.1問題描述
15.3.2使用組合模式管理網站商品類別
15.3.3組合模式的應用效果分析
15.4本章習題
第16章結構型設計模式總結
16.1結構型模式小結
16.2結構型模式綜合練習
第四部分行為型設計模式
第17章觀察者模式
17.1觀察者模式概述
17.1.1觀察者模式的動機
17.1.2觀察者模式的定義
17.2觀察者模式的結構及其代碼示例
17.2.1觀察者模式的結構
17.2.2觀察者模式的代碼示例——微信公眾服務系統模擬
17.3觀察者模式在電子商務系統中的應用
17.3.1問題描述
17.3.2使用觀察者模式實現電子商務系統中的商品訂閱通知
17.3.3觀察者模式的應用效果分析
17.4本章習題
第18章策略模式
18.1策略模式概述
18.1.1策略模式的動機
18.1.2策略模式的定義
18.2策略模式的結構及其代碼示例
18.2.1策略模式的結構
18.2.2策略模式的代碼示例——Oracle數據庫備份策略模擬
18.3策略模式在電子商務系統中的應用
18.3.1問題描述
18.3.2使用策略模式實現商品排序功能
18.3.3策略模式的應用效果分析
18.4本章習題
第19章責任鏈模式
19.1責任鏈模式概述
19.1.1責任鏈模式的動機
19.1.2責任鏈模式的定義
19.2責任鏈模式的結構及其代碼示例
19.2.1責任鏈模式的結構
19.2.2責任鏈模式的代碼示例——聚餐費用申請管理
19.3責任鏈模式在電子商務系統中的應用
19.3.1問題描述
19.3.2使用責任鏈模式實現電子商務系統中的敏感詞過濾
19.3.3責任鏈模式的應用效果分析
19.4本章習題
第20章狀態模式
20.1狀態模式概述
20.1.1狀態模式的動機
20.1.2狀態模式的定義
20.2狀態模式的結構及其代碼示例
20.2.1狀態模式的結構
20.2.2狀態模式的代碼示例——電燈的開關控制
20.3狀態模式在電子商務系統中的應用
20.3.1問題描述
20.3.2使用狀態模式實現電子商務系統中會員等級狀態的轉換
20.3.3狀態模式的應用效果分析
20.4本章習題
第21章命令模式
21.1命令模式概述
21.1.1命令模式的動機
21.1.2命令模式的定義
21.2命令模式的結構及其代碼示例
21.2.1命令模式的結構
21.2.2命令模式的代碼示例——計算機啟動過程模擬
21.3命令模式在電子商務系統中的應用
21.3.1問題描述
21.3.2使用命令模式實現電子商務系統中的用戶管理
21.3.3命令模式的應用效果分析
21.4本章習題
第22章中介者模式
22.1中介者模式概述
22.1.1中介者模式的動機
22.1.2中介者模式的定義
22.2中介者模式的結構及其代碼示例
22.2.1中介者模式的結構
22.2.2中介者模式的代碼示例——房屋中介模擬
22.3中介者模式在電子商務系統中的應用
22.3.1問題描述
22.3.2使用中介者模式模擬當當網的送貨流程
22.3.3中介者模式的應用效果分析
22.4本章習題
第23章行為型設計模式總結
23.1行為型模式小結
23.2行為型模式綜合練習
附錄習題答案
參考文獻