《貫穿設計模式——用一個電商項目詳解設計模式》是2023年10月 1日清華大學出版社出版的圖書,作者:偉山育琪。
基本介紹
- 中文名:貫穿設計模式——用一個電商項目詳解設計模式
- 作者:偉山育琪
- 出版時間:2023年10月1日
- 出版社:清華大學出版社
- ISBN:9787302643364
- 定價:89 元
- 印次:1-1
- 印刷日期:2023.09.22
內容簡介,圖書目錄,
內容簡介
本書以網際網路項目核心模組為基準,將設計模式融入核心模組的開發之中,整個過程猶如一個整體項目需求,完成設計模式的融入。從第2章到第12章,依次對核心項目模組進行設計模式的融入,本書所涉及到的核心模組依次為:多種第三方賬號登錄;產品分類目錄管理;商品查詢;多種類支付;商品訂單狀態變化;訂單完成後的業務投放及策略實時變更;開具增值稅發票;商品代付;積分、平台幣、紅包發放;多種類日誌設計;日誌解析。
圖書目錄
第1章 設計模式的原則與分類 1
1.1 本章要點 1
1.2 設計模式的原則 1
1.2.1 單一職責原則 1
1.2.2 接口隔離原則 4
1.2.3 里氏替換原則 6
1.2.4 依賴倒置原則 12
1.2.5 迪米特法則 13
1.2.6 開閉原則 16
1.3 設計模式的分類 19
1.3.1 創建型模式 19
1.3.2 結構型模式 19
1.3.3 行為型模式 20
1.4 合成復用原則 20
1.5 章節回顧 22
第2章 多種類第三方賬號登錄
—橋接模式與適配器模式 23
2.1 本章要點 23
2.2 初始化項目實戰環境 24
2.2.1 創建SpringBoot項目並添加pom.xml依賴 24
2.2.2 application.properties配置 26
2.2.3 初始化傳統註冊、登錄功能 27
2.2.4 項目驗證 30
2.3 實戰需求發布會 32
2.4 適配器模式實戰—UML類結構分解及方法定義 35
2.5 適配器模式實戰—第三方賬號登錄 39
2.5.1 第三方賬號的登錄原理 40
2.5.2 代碼實戰 44
2.5.3 驗證第三方賬號登錄功能 47
2.6 橋接模式實戰—UML類結構分解及方法定義 49
2.7 橋接模式實戰—第三方賬號登錄 56
2.7.1 核心代碼實戰 56
2.7.2 修復代碼瑕疵 58
2.7.3 Client調用端代碼實戰 64
2.7.4 功能測試 69
2.8 章節回顧 69
第3章 商品類目管理
—組合模式與訪問者模式 71
3.1 本章要點 71
3.2 實戰需求發布會 71
3.3 實戰前的準備工作 74
3.3.1 項目集成Redis 74
3.3.2 初始化商品類目信息 77
3.4 組合模式實戰—UML類結構分解及方法定義 79
3.5 組合模式實戰—獲取商品類目 84
3.6 訪問者模式實戰—UML類結構分解及方法定義 87
3.7 訪問者模式實戰—商品類目的增加與刪除功能 91
3.7.1 功能開發實戰 91
3.7.2 功能測試 94
3.8 章節回顧 95
第4章 商品訂單狀態轉化與處理
—狀態模式+觀察者模式+命令模式 96
4.1 本章要點 96
4.2 實戰需求發布會 98
4.3 狀態模式實戰—UML類結構分解及方法定義 99
4.4 狀態模式實戰—訂單狀態轉化 105
4.4.1 訂單狀態轉化 106
4.4.2 訂單狀態功能測試 111
4.5 觀察者模式實戰—UML類結構分解及方法定義 118
4.6 觀察者模式實戰—觀察訂單狀態的變更處理 124
4.7 Spring狀態機介紹及引入 128
4.8 狀態模式實戰—使用Spring狀態機 130
4.8.1 枚舉類及訂單對象創建 131
4.8.2 Spring狀態機配置類實戰 133
4.9 觀察者模式實戰—基於Spring狀態機 139
4.9.1 觀察者類創建實戰 139
4.9.2 測試基於Spring狀態機的訂單轉化 143
4.10 命令模式實戰—UML類結構分解及方法定義 147
4.11 命令模式實戰—訂單轉化相關擴展操作 151
4.12 章節回顧 153
第5章 多種類第三方支付
—策略模式+門面模式+工廠模式+享元模式 154
5.1 本章要點 154
5.2 實戰需求發布會 155
5.3 策略模式實戰—UML類結構分解及方法定義 157
5.4 策略模式實戰—多種類第三方支付 160
5.4.1 第三方支付原理 160
5.4.2 第三方支付接入流程 162
5.4.3 支付寶支付實戰 169
5.5 門面模式實戰—UML類結構分解及方法定義 174
5.6 門面模式實戰—調用支付策略 175
5.7 工廠模式實戰—UML類結構分解及方法定義 177
5.8 工廠模式實戰—策略工廠 180
5.9 測試多種類第三方支付 184
5.10 享元模式實戰 188
5.10.1 隱藏的享元模式 188
5.10.2 享元模式的定義及UML類圖分解 189
5.10.3 Spring IOC對享元模式的套用 191
5.11 章節回顧 193
第6章 業務投放
—責任鏈模式 194
6.1 本章要點 194
6.2 實戰需求發布會 195
6.3 安裝Apollo配置中心及相關數據準備 197
6.3.1 Apollo配置中心介紹 197
6.3.2 Windows環境部署Apollo配置中心 199
6.3.3 準備業務投放數據和用戶數據 205
6.4 責任鏈模式實戰—UML類結構分解及方法定義 208
6.5 責任鏈模式實戰—業務投放 211
6.5.1 項目集成Apollo 211
6.5.2 業務投放實戰 212
6.5.3 業務投放測試 218
6.6 章節回顧 219
第7章 平台積分更新及紅包發放
—裝飾器模式 220
7.1 本章要點 220
7.2 實戰需求發布會(三層服務降級策略) 220
7.3 項目集成RabbitMq—服務降級之延遲服務 222
7.3.1 延遲佇列的實現方式 222
7.3.2 RabbitMq的安裝與佇列配置 224
7.3.3 SpringBoot集成RabbitMq 227
7.4 裝飾器模式實戰—UML類結構分解及方法定義 228
7.5 裝飾器模式實戰—積分更新及紅包發放 235
7.5.1 Apollo配置添加和測試數據準備 235
7.5.2 三層服務降級—積分更新及紅包發放實戰 238
7.6 章節回顧 241
第8章 開具電子發票
—建造者模式+原型模式+代理模式 242
8.1 本章要點 242
8.2 實戰需求發布會 243
8.3 建造者模式實戰—UML類結構分解及方法定義 244
8.4 建造者模式實戰—開具電子發票 250
8.5 原型模式實戰 252
8.5.1 原型模式實戰—UML類結構分解及方法定義 252
8.5.2 引用拷貝、深拷貝與淺拷貝 255
8.6 代理模式實戰 261
8.6.1 代理模式實戰—UML類結構分解及方法定義 261
8.6.2 JDK動態代理和CGLIB動態代理 263
8.7 開具電子發票需求測試 268
8.8 章節回顧 269
第9章 朋友代付
—中介者模式 270
9.1 本章要點 270
9.2 實戰需求發布會 271
9.3 中介者模式實戰—UML類結構分解及方法定義 272
9.4 中介者模式實戰—朋友代付 277
9.4.1 朋友代付實戰 277
9.4.2 全局唯一中介者 279
9.5 章節回顧 282
第10章 訂單審計日誌設計
—模板方法模式 283
10.1 本章要點 283
10.2 實戰需求發布會 283
10.3 模板方法模式實戰—UML類結構分解及方法定義 284
10.4 模板方法模式實戰—訂單審計日誌 289
10.5 章節回顧 290
第11章 ES日誌查詢
—疊代器模式 291
11.1 本章要點 291
11.2 實戰需求發布會 292
11.3 Elastic Search SQL Rest API機制介紹 293
11.4 ES Mock Server 296
11.5 疊代器模式實戰 298
11.5.1 UML類結構分解、方法定義及ES查詢實戰 298
11.5.2 實戰測試 302
11.6 章節回顧 304
第12章 結語 305