當前位置:菜譜大全網 - 食譜 - 軟件技巧:設計模式目錄

軟件技巧:設計模式目錄

目錄

1設計模式概述

1.1計算機軟件發展現狀2

1.2引入設計模式2的必要性

1.3軟件設計的基本原理3

1.3.1高內聚低耦合3

1.3.2面向抽象編程3

1.3.3多用組合少繼承4

1.3.4“開關”原則4

1.4設計模式概述4

1.4.1什麽是設計模式4?

1.4.2為什麽需要設計圖案5?

1.4.3如何正確應用設計模式5

1.5設計模式的分類5

1.5.1創作模式6

1.5.2結構模式6

1.5.3行為模式6

1.6學會歸納總結7

第壹部分創作模式

2曹操獻刀:廠法模式11

2.1三國故事:曹操祭刀12

2.2模式定義13

2.3故事13中的模式分析

2.3.1故事中的角色13

2.3.2抽象分析方法14

2.3.3工廠方法模式的靜態建模15

2.4工廠方法模式實現17的故事

2.4.1創建產品17

2.4.2工廠的建立19

2.4.3故事情節的歷史再現21

2.4.4使用八星包道的測試模式22

2.5設計原則

2.6使用場合28

2.7本章第29點

3肯德基:抽象工廠31

3.1肯德基的故事32

3.2模式定義33

3.3故事中的模式分析33

故事中的角色33

抽象分析34

3.3.3抽象工廠的靜態建模

3.4抽象工廠故事的實現36

3.4.1抽象食品的建立36

3.4.2為不同的食物建立抽象基類37

3.4.3創造特定的食物40

3.4.4工廠的建立

3.4.5創建客戶類別45

3.4.6故事情節的呈現48

3.5設計原則49

3.6使用場合50

3.7本章的要點53

4手機套裝:builder模式54

4.1手機包55

4.2模式定義56

4.3故事模式分析56

4.3.1角色分析56

4.3.2構建器模式57的靜態建模

4.4模式實現58

4 . 4 . 1創建產品-手機包59

4.4.2建立抽象生成器61

4.4.3特定建築商的設立62

4.4.4創建導師65

4.4.5讓客戶訂購手機套餐66

4.4.6如何簡化構建器的實現68

4.5設計原則68

4.6使用場合70

4.7本章要點73

5大學生步入社會:原型模型75

5.1大學生步入社會76

5.2模式定義77

5.3大學生故事的模式分析78

5.3.1故事情節分析78

5.3.2原型模式的靜態建模78

5.4大學生故事的原型模式實現80

5.4.1原型編制81

5.4.2創建工廠以生成原型對象84

5.4.3大學生初入社會時的生活。

5.5設計原則

5.6使用場合95

5.7本章要點96

6課堂互動:單例模式98

6.1 99級故事

6.2模式定義100

6.3模式分析101

6.4模式實現102

6.4.1實現1:創建壹個具有同步線程安全性的singleton對象102。

6.4.2實現2:創建壹個全局類對象的實例作為singleton對象106。

6.4.3改進:多案例模式實現107。

6.5設計原則112

6.6用法112

6.7本章要點114

結構模型的第二部分

7電源轉換:適配器模式117

7.1生活適配器118

7.2模式定義118

7.3模式分析119

7.3.1適配器中的角色119

7.3.2靜態建模119

7.4模式實現120

7.4.1抽象供電機構121

7.4.2建立220V電源122。

7.4.3創建12V電源123

7.4.4測試220V電源和12V電源125。

7.4.5對象適配器126的實現

7.4.6類適配器模式實現129

7.5設計原則132

7.6用法133

7.7本章要點135

8個開關和燈:橋模式137

8.1開關和燈138

8.2模式定義139

8.3綜合分析139

8.4 140的概括

8.4.1建立壹個抽象開關141。

8.4.2電燈實現142

8.4.3客戶端測試145

8.4.4拓展功能的思路146

8.5橋梁模式分析法147

8.6開關和電燈的橋接方式實現147。

8.6.1創建燈光接口147。

8.6.2創建開關148

8.6.3電燈實現151

客戶端測試153

8.7設計原則155

8.8使用場合156

8.9本章要點157

9公司層級:組合模式159

9.1公司層級160

9.2模式定義160

9.3綜合分析161

9.4泛化實現162

9.4.1創建普通員工162

9.4.2創建經理164

客戶端測試168

9.4.4思考系統結構171

9.5組合模式分析法171

9.6公司結構組合模式實現172

9.6.1建立員工抽象172

9.6.2創建經理175

9.6.3創建普通員工177

客戶端測試179

9.7設計原則182

9.8用法183

9.9本章要點184

10染色饅頭:裝飾模式186

10.1染饅頭事件187

10.2模式定義188

10.3概化分析188

10.4泛化實現189

10.4.1創建饅頭接口189

10.4.2普通饅頭190

10.4.3染色饅頭193

10.4.4甜饅頭195

10.4.5如何制作甜玉米饅頭199

10.5裝飾圖案分析方法199

10.6染色饅頭的裱花模式實現200

10.6.1創建抽象裝飾器200

10.6.2創建裝飾202

10.6.3生產甜玉米饅頭204

10.7設計原則206

10.8使用場合207

10.9本章要點209

11美食世界:外觀模式211

11.1美食世界212

11.2模式定義213

11.3歸納分析214

11.4泛化實現214

11.4.1創建糖醋排骨界面214。

11.4.2糖醋排骨實現了215。

11.4.3客戶端測試216

11.5外觀模式分析方法218

11.5.1讓廚師給我們做飯218

11.5.2外觀圖案靜態建模218

11.6糖醋排骨的外觀模式實現219。

11.6.1建立外觀門面219。

客戶端測試221

11.7設計原理222

11.8使用場合224

11.9本章要點227

12五子棋遊戲:享受袁模式229

12.1五子棋遊戲230

12.2架構定義231

12.3模式分析231

12 . 3 . 1五子棋遊戲分析231

靜態建模232

12.4模式實現233

12.4.1創建壹個抽象棋子233

12.4.2象棋實現234

創建壹個象棋工廠234

客戶端測試236

12.4.5如何實現棋子238的位置

12.4.6測試棋子242的外部狀態

12.5設計原則244

12.6使用場合245

12.7本章要點247

13葡萄酒分銷:代理模式249

1酒劑250

13.2模式定義250

13.3模式分析251

消費者購買行為分析251

13.3.2靜態建模

13.4模式實現252

創建壹個葡萄酒制造商253

13.4.2從紅酒廠購買紅酒254

創建壹個葡萄酒代理商255

從紅酒代理商處購買紅酒

13.5設計原則258

13.6使用場合259

13.7本章要點265

第三部分是行為模型

14學生生病:責任鏈模型269

這個學生生病了

14.2架構定義271

14.3壹般抽象分析271

學生請假流程分析271

14.3.2抽象靜態建模

14.4通用抽象實現273

1學生請假273

14.4.2創建抽象的離開消息處理程序275

14.4.3休假處理器277的具體實現

客戶端測試279

如何面對變化282

14.4.6用外觀包裝改變的部分283。

14.5責任鏈模式分析法288

14.5.1是如何實現消息傳遞的呢?56636.86666666661

責任鏈模式的靜態建模288

14.6休假流程責任鏈模式的實現289

14.6.1抽象修改289

14.6.2改進具體的消息處理程序291

14.6.3在外觀上設置消息處理責任鏈292。

客戶端測試296

14.7設計原則296

14.8使用場合297

14.9本章要點299

15郵局:指揮模式301

15.1生活中的郵局302

15.2模式定義303

15.3模式分析303

15.3.1郵局示例分析303

靜態建模303

15.4模式實現304

15.4.1創建消息接收者305

15.4.2創建中間角色郵局305

15.4.3創建消息發送者307

讓郵局開始工作

優化我們的設計

15.5設計原則

15.6使用場合313

15.7本章要點316

16創建您自己的語言:解釋器模式318

創建您自己的語言解釋器319

16.2模式定義320

16.3模式分析320

16 . 3 . 1“Myida”語言分析320

16 . 3 . 2“myida”語言解釋器原理321

16.4模式實現323

創建上下文環境323

16.4.2創建解析表達式326

16.4.3讓“myida”語言解釋器開始工作336

16.5設計原理338

16.6使用場合339

16.7本章要點341

17循環遍歷:叠代器模式343

17.1讓叠代器替換循環344。

17.2模式定義345

17.3模式分析345

17.3.1如何遍歷集合對象345?

17.3.2叠代器模式靜態建模346

17.4模式實現347

17.4.1人員信息實現348

17.4.2實施人員大會349

17.4.3叠代器實現352

17.4.4讓叠代器遍歷集合對象354。

17.4.5叠代器如何面對變化357

17.4.6客戶端360怎麽了

17.5設計原則362

17.6使用場合362

17.7本章要點364

18多人聊天室:調解員模式366

18.1多人聊天室367

18.2模式定義368

18.3模式分析368

多人聊天室368的結構分析

18.3.2靜態建模369

18.4模式實現370

創建用戶界面370

18.4.2創建調解員371

18.4.3創建用戶373

運行多人聊天室377

18.5設計原理380

18.6使用場合380

18.7本章要點382

19通關遊戲:紀念品圖案384。

19.1通關遊戲385

19.2模式定義385

19.3模式分析386

紀念品圖案386的特征

19.3.2紀念品圖案靜態建模386

19.4模式實現387

19.4.1白盒紀念品圖案實現388

19.4.2黑盒紀念品圖案實現396

19.5設計原則404

19.6使用場合405

19.7本章要點407

20高溫警告:觀察者模式409

20.1高溫預警系統10

20.2模式定義411

20.3模式分析411

20.3.1高溫預警過程分析411

20.3.2靜態建模411

20.4模式實現412

20 . 4 . 1創建抽象角色413

20.4.2具體主題的實現

20.4.3具體觀察者認識到419

20.4.4讓系統開始運行421

20.5設計原則

20.6使用場合423

20.7本章要點426

21文檔編輯模式切換:狀態模式428

21.1文檔編輯器中的模式切換429

21.2模式定義430

21.3模式分析430

21.4模式實現431

21.4.1創建空白上下文環境431

21.4.2創建狀態接口431

21.4.3改善上下文內容433

21.4.4創建特定狀態434

21.4.5客戶端測試437

21.5設計原則440

21.6使用場合440

21.7本章要點442

22商場促銷:戰略模式443

22.1商場促銷商品444

22.2模式定義445

22.3模式分析445

22.3.1商品促銷策略分析

22.3.2策略模式的靜態建模446

22.4模式實現446

22.4.1創建策略接口447

22.4.2創建特定策略448

22.4.3創建上下文環境450

22.4.4消費者購物消費451

22.4.5策略模式和條件判斷的比較454

22.5設計原則

22.6使用場合456

22.7本章要點459

23生活行為:模板方法模式461

23.1日常生活行為462

23.2模式定義463

23.3模式分析463

23.3.1生活行為分析463

靜態建模464

23.4模式實現465

23.4.1建立算法框架465

23.4.2創建具體的實施方案467

23.4.3客戶端測試469

23.5設計原則471

23.6使用場合472

23.7本章要點475

24公司層次結構:訪問者模式477

24.1公司層級478

24.2模式定義479

24.3模式分析479

24.3.1組合模式審查479

24.3.2訪客模式分析480

24.3.3訪客模型481的靜態建模

24.4模式實現483

24.4.1員工實現483

24.4.2訪問者實施488

24.4.3讓員工接待訪客490

24.4.4客戶端測試491

24.4.5考慮擴展494

24.5設計原則

24.6使用場合499

24.7本章要點502

25設計模式摘要504

為什麽要學習設計模式505

25.1.1讓工作更輕松505

25.1.2讓程序優雅507

學習設計原理507

25.2設計模式的六個原則509

25.2.1“開關”原理(OCP) 509

25.2.2單壹責任原則(SRP) 519

25.2.3依賴性倒置原則(DIP) 527

25.2.4接口隔離原則(ISP) 536

25.2.5裏克特替代原則(LSP) 543

25.2.6迪米特裏定律(LoD) 544

25.3勤於思考,善於總結553

25.3.1定力、心力和信心553

做壹個有思想的人

實踐出真知

26 MVC設計實踐556

26.1讓妳思維活躍557

26.2如何設計MVC框架557

26.3第壹個MVC框架——Joker MVC 558

環境介紹558

26.3.2 MVC啟航558

26.3.3 Joker MVC架構分析563

26.3.4 Joker MVC架構實現566

26.3.5發布joker-1.0部署測試599