注冊 | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當前位置: 首頁出版圖書科學技術計算機/網(wǎng)絡軟件與程序設計其他編程語言/工具C++20設計模式:可復用的面向?qū)ο笤O計方法(原書第2版)

C++20設計模式:可復用的面向?qū)ο笤O計方法(原書第2版)

C++20設計模式:可復用的面向?qū)ο笤O計方法(原書第2版)

定 價:¥89.00

作 者: [俄]德米特里·內(nèi)斯特魯克(Dmitri Nesteruk)
出版社: 機械工業(yè)出版社
叢編項:
標 簽: 暫缺

ISBN: 9787111716228 出版時間: 2022-12-01 包裝: 平裝-膠訂
開本: 16開 頁數(shù): 字數(shù):  

內(nèi)容簡介

  本書將C++標準的新版本應用于設計模式的實現(xiàn)。除了介紹傳統(tǒng)的設計模式之外,本書還充實了對現(xiàn)代C++開發(fā)人員有用的新的設計模式和方法。本書融合了作者多年的研究和實踐經(jīng)驗,從C++新特性的角度展示了如何將設計模式化繁為簡,并以詼諧風趣的語言闡述各個設計模式的優(yōu)缺點和應用場景。本書將提供一些現(xiàn)代C++技術案例,展示如何利用C++的新特性(比如,協(xié)程、模塊等)將一些難題化繁為簡。本書所有示例程序都可以直接投入生產(chǎn)環(huán)境,不過,為了便于閱讀,部分示例程序做了適當?shù)暮喕?。通過閱讀本書,你將學會: *如何使用創(chuàng)建型設計模式,比如構造器模式、工廠模式、原型模式和單例模式。 *如何實現(xiàn)結(jié)構型設計模式,比如適配器模式、橋接模式、裝飾器模式、外觀模式等。 *如何開發(fā)行為型設計模式,比如職責鏈模式、命令模式、迭代器模式、中介者模式等。

作者簡介

  德米特里·內(nèi)斯特魯克(Dmitri Nesteruk)是一名定量分析師、開發(fā)者、課程和書籍的作者。他對計算、定量金融和算法交易領域的軟件開發(fā)和集成實踐充滿興趣,擅長C#和C++編程,以及基于CUDA和FPGA等技術的高性能計算。自2009年以來,他一直是C#的MVP(最有價值專家)。

圖書目錄

Contents 目 錄
譯者序
前言
審校者簡介
第1章 引論1
1.1 本書的目標讀者2
1.2 關于代碼示例2
1.3 關于開發(fā)者工具3
1.4 重要概念3
1.4.1 奇異遞歸模板模式3
1.4.2 Mixin繼承4
1.4.3 舊風格的靜態(tài)多態(tài)5
1.4.4 概念與靜態(tài)多態(tài)6
1.4.5 屬性7
1.5 SOLID設計原則8
1.5.1 單一職責原則8
1.5.2 開閉原則10
1.5.3 里氏替換原則15
1.5.4 接口隔離原則17
1.5.5 依賴倒轉(zhuǎn)原則19
第一部分 創(chuàng)建型設計模式
第2章 構造器模式26
2.1 預想方案26
2.2 簡單構造器27
2.3 流式構造器28
2.4 向用戶傳達意圖28
2.5 Groovy風格的構造器30
2.6 組合構造器32
2.7 參數(shù)化構造器35
2.8 構造器模式的繼承性36
2.9 總結(jié)39
第3章 工廠方法和抽象工廠模式41
3.1 預想方案41
3.2 工廠方法43
3.3 工廠44
3.4 工廠方法和多態(tài)46
3.5 嵌套工廠47
3.6 抽象工廠48
3.7 函數(shù)式工廠50
3.8 對象追蹤51
3.9 總結(jié)52
第4章 原型模式53
4.1 對象構建53
4.2 普通拷貝54
4.3 通過拷貝構造函數(shù)進行拷貝54
4.4 “虛”構造函數(shù)56
4.5 序列化58
4.6 原型工廠60
4.7 總結(jié)61
第5章 單例模式62
5.1 作為全局對象的單例模式62
5.2 單例模式的經(jīng)典實現(xiàn)63
5.3 單例模式存在的問題65
5.3.1 每線程單例68
5.3.2 環(huán)境上下文70
5.3.3 單例模式與控制反轉(zhuǎn)73
5.3.4 單態(tài)模式73
5.4 總結(jié)74
第二部分 結(jié)構型設計模式
第6章 適配器模式77
6.1 預想方案77
6.2 適配器79
6.3 臨時適配器對象80
6.4 雙向轉(zhuǎn)換器82
6.5 總結(jié)83
第7章 橋接模式85
7.1 Pimpl模式85
7.2 橋接模式介紹87
7.3 總結(jié)89
第8章 組合模式90
8.1 支持數(shù)組形式的屬性91
8.2 組合圖形對象93
8.3 神經(jīng)網(wǎng)絡95
8.3.1 封裝組合模式97
8.3.2 概念上的改進98
8.3.3 概念和全局運算符99
8.4 組合模式的規(guī)范100
8.5 總結(jié)101
第9章 裝飾器模式103
9.1 預想方案103
9.2 動態(tài)裝飾器104
9.3 靜態(tài)裝飾器107
9.4 函數(shù)裝飾器108
9.5 總結(jié)111
第10章 外觀模式112
10.1 幻方生成器112
10.2 構建貿(mào)易終端116
10.2.1 高級終端117
10.2.2 “外觀”體現(xiàn)在哪里118
10.3 總結(jié)119
第11章 享元模式120
11.1 用戶名問題120
11.2 Boost.Flyweight122
11.3 字符串的范圍122
11.3.1 幼稚解法123
11.3.2 享元實現(xiàn)124
11.4 總結(jié)126
第12章 代理模式127
12.1 智能指針127
12.2 屬性代理128
12.3 虛擬代理129
12.4 通信代理131
12.5 值代理133
12.6 總結(jié)135
第三部分 行為型設計模式
第13章 職責鏈模式138
13.1 預想方案138
13.2 指針鏈139
13.3 代理鏈141
13.4 總結(jié)144
第14章 命令模式145
14.1 預想方案145
14.2 實現(xiàn)命令模式146
14.3 撤銷操作147
14.4 復合命令149
14.5 命令查詢分離152
14.6 總結(jié)154
第15章 解釋器模式155
15.1 解析整數(shù)155
15.2 數(shù)值表達式求值156
15.2.1 詞法分析157
15.2.2 語法分析159
15.2.3 使用詞法分析器和
    語法分析器161
15.3 使用Boost.Spirit解析161
15.3.1 抽象語法樹162
15.3.2 語法分析器163
15.3.3 打印器164
15.4 總結(jié)164
第16章 迭代器模式166
16.1 標準庫中的迭代器166
16.2 遍歷二叉樹168
16.3 使用協(xié)程的迭代171
16.4 總結(jié)172
第17章 中介者模式174
17.1 聊天室174
17.2 中介者與事件178
17.3 中介者服務總線180
17.4 總結(jié)181
第18章 備忘錄模式182
18.1 銀行賬戶182
18.2 撤銷功能和恢復功能183
18.3 內(nèi)存注意事項186
18.4 使用備忘錄進行交互操作186
18.5 總結(jié)187
第19章 空對象模式188
19.1 預想方案188
19.2 shared_ptr不是空對象190
19.3 設計改進190
19.4 隱式空對象191
19.5 與其他模式的交互191
19.6 總結(jié)192
第20章 觀察者模式193
20.1 屬性觀察器193
20.2 Observer194
20.3 Observable195
20.4 連接觀察者和被觀察者196
20.5 依賴問題197
20.6 取消訂閱與線程安全197
20.7 可重入性198
20.8 Boost.Signals2中的觀察者模式200
20.9 視圖201
20.10 總結(jié)203
第21章 狀態(tài)模式204
21.1 狀態(tài)驅(qū)動的狀態(tài)轉(zhuǎn)換204
21.2 設計狀態(tài)機207
21.3 基于開關的狀態(tài)機209
21.4 Boost.MSM狀態(tài)機211
21.5 總結(jié)214
第22章 策略模式215
22.1 動態(tài)策略216
22.2 靜態(tài)策略219
22.3 總結(jié)219
第23章 模板方法模式221
23.1 游戲模擬221
23.2 函數(shù)式模板方法223
23.3 總結(jié)224
第24章 訪問者模式226
24.1 侵入式訪問者227
24.2 反射式打印組件228
24.3 什么是分發(fā)230
24.4 經(jīng)典訪問者231
24.5 非循環(huán)訪問者234
24.6 std::variant和std::visit236
24.7 總結(jié)237

本目錄推薦

掃描二維碼
Copyright ? 讀書網(wǎng) m.ranfinancial.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號 鄂公網(wǎng)安備 42010302001612號