注冊(cè) | 登錄讀書(shū)好,好讀書(shū),讀好書(shū)!
讀書(shū)網(wǎng)-DuShu.com
當(dāng)前位置: 首頁(yè)出版圖書(shū)科學(xué)技術(shù)計(jì)算機(jī)/網(wǎng)絡(luò)軟件與程序設(shè)計(jì)C/C++及其相關(guān)現(xiàn)代C++軟件架構(gòu):方法與實(shí)踐

現(xiàn)代C++軟件架構(gòu):方法與實(shí)踐

現(xiàn)代C++軟件架構(gòu):方法與實(shí)踐

定 價(jià):¥139.00

作 者: [美]艾德里安·奧斯特洛夫斯基,[波]彼得亞雷·加奇科夫斯基
出版社: 機(jī)械工業(yè)出版社
叢編項(xiàng):
標(biāo) 簽: 暫缺

購(gòu)買(mǎi)這本書(shū)可以去


ISBN: 9787111736769 出版時(shí)間: 2023-10-01 包裝: 平裝-膠訂
開(kāi)本: 16開(kāi) 頁(yè)數(shù): 字?jǐn)?shù):  

內(nèi)容簡(jiǎn)介

  本書(shū)結(jié)合現(xiàn)代C++特性,詳細(xì)介紹軟件架構(gòu)的實(shí)用方法及實(shí)踐,探索了如何在單體應(yīng)用程序中使用成熟的設(shè)計(jì)模式,如何使應(yīng)用程序具有健壯性、安全性、高性能和可維護(hù)性,以及如何使用面向服務(wù)的架構(gòu)、微服務(wù)、容器和無(wú)服務(wù)器計(jì)算等架構(gòu)模式構(gòu)建連接多個(gè)單體應(yīng)用程序的高級(jí)服務(wù)。全書(shū)共分為四部分:第一部分包含第1~3章,介紹軟件架構(gòu)的概念及組件,包括軟件架構(gòu)的重要性和良好的設(shè)計(jì)原則、架構(gòu)風(fēng)格、功能性和非功能性需求;第二部分包含第4~7章,介紹C++軟件的開(kāi)發(fā)和設(shè)計(jì),包括架構(gòu)與系統(tǒng)設(shè)計(jì)、C++語(yǔ)言特性、設(shè)計(jì)模式,以及構(gòu)建和打包;第三部分包含第8~11章,介紹架構(gòu)的質(zhì)量屬性,包括測(cè)試、持續(xù)集成和持續(xù)部署、安全性、性能;第四部分包含第12~15章,介紹云原生設(shè)計(jì)原則,包括面向服務(wù)的架構(gòu)、微服務(wù)、容器、云原生設(shè)計(jì)。本書(shū)適合C++程序員、架構(gòu)師等相關(guān)技術(shù)人員閱讀。

作者簡(jiǎn)介

暫缺《現(xiàn)代C++軟件架構(gòu):方法與實(shí)踐》作者簡(jiǎn)介

圖書(shū)目錄

目  錄Contents
前 言
第一部分 軟件架構(gòu)的概念和組成部分
第1章 軟件架構(gòu)的重要性和良好的
設(shè)計(jì)原則 2
1.1 技術(shù)要求 2
1.2 軟件架構(gòu) 2
1.3 適當(dāng)架構(gòu)的重要性 3
1.3.1 軟件腐朽 4
1.3.2 意外架構(gòu) 4
1.4 優(yōu)秀架構(gòu)的基本原理 4
1.4.1 架構(gòu)上下文 4
1.4.2 相關(guān)方 4
1.4.3 業(yè)務(wù)和技術(shù)環(huán)境 5
1.5 使用敏捷原則開(kāi)發(fā)架構(gòu) 5
1.6 C++的哲學(xué)思想 7
1.7 SOLID和DRY原則 9
1.7.1 單一責(zé)任原則 9
1.7.2 開(kāi)放封閉原則 9
1.7.3 里氏替換原則 10
1.7.4 接口隔離原則 11
1.7.5 依賴倒置原則 12
1.7.6 DRY原則 15
1.8 耦合和內(nèi)聚 16
1.8.1 耦合 16
1.8.2 內(nèi)聚 17
1.9 總結(jié) 19
問(wèn)題 19
進(jìn)一步閱讀 19
第2章 架構(gòu)風(fēng)格 20
2.1 技術(shù)要求 20
2.2 有狀態(tài)風(fēng)格和無(wú)狀態(tài)風(fēng)格 20
2.3 單體風(fēng)格 23
2.4 服務(wù)和微服務(wù) 24
2.5 基于事件的架構(gòu) 27
2.5.1 基于事件的常見(jiàn)拓?fù)浣Y(jié)構(gòu) 28
2.5.2 事件溯源 29
2.6 分層架構(gòu) 30
2.7 基于模塊的架構(gòu) 32
2.8 總結(jié) 32
問(wèn)題 33
進(jìn)一步閱讀 33
第3章 功能性和非功能性需求 34
3.1 從源代碼生成文檔的技術(shù)
要求 34
3.2 需求的類(lèi)型 34
3.2.1 功能性需求 35
3.2.2 非功能性需求 35
3.3 架構(gòu)級(jí)重要需求 36
3.3.1 指示信號(hào) 37
3.3.2 阻礙以及應(yīng)對(duì)方法 37
3.4 從各種來(lái)源收集需求 38
3.4.1 了解上下文 38
3.4.2 了解現(xiàn)有文檔 39
3.4.3 了解相關(guān)方 39
3.4.4 收集來(lái)自相關(guān)方的需求 39
3.5 文檔化需求 40
3.5.1 文檔化上下文 40
3.5.2 文檔化范圍 41
3.5.3 文檔化功能性需求 41
3.5.4 文檔化非功能性需求 42
3.5.5 管理文檔的版本歷史 42
3.5.6 文檔化敏捷項(xiàng)目中的需求 43
3.5.7 其他部分 43
3.6 文檔化系統(tǒng)架構(gòu) 44
3.6.1 4+1模型 44
3.6.2 C4模型 48
3.6.3 文檔化敏捷項(xiàng)目中的架構(gòu) 51
3.7 選擇文檔的正確視圖 51
3.7.1 功能視圖 52
3.7.2 信息視圖 52
3.7.3 并發(fā)視圖 53
3.7.4 開(kāi)發(fā)視圖 53
3.7.5 部署和操作視圖 54
3.8 生成文檔 55
3.8.1 生成需求文檔 55
3.8.2 從代碼生成圖 55
3.8.3 從代碼生成API文檔 55
3.9 總結(jié) 60
問(wèn)題 60
進(jìn)一步閱讀 61
第二部分 C++軟件的設(shè)計(jì)和開(kāi)發(fā)
第4章 架構(gòu)與系統(tǒng)設(shè)計(jì) 64
4.1 技術(shù)要求 64
4.2 分布式系統(tǒng)的特性 64
4.2.1 不同的服務(wù)模型以及何時(shí)
使用它們 65
4.2.2 避免分布式計(jì)算的錯(cuò)誤假設(shè) 67
4.2.3 CAP定理和最終的一致性 70
4.3 系統(tǒng)容錯(cuò)性和可用性 72
4.3.1 計(jì)算系統(tǒng)的可用性 72
4.3.2 構(gòu)建容錯(cuò)系統(tǒng) 73
4.3.3 故障檢測(cè) 75
4.3.4 減少故障的影響 76
4.4 系統(tǒng)集成 78
4.4.1 管道和過(guò)濾器模式 78
4.4.2 消費(fèi)者競(jìng)爭(zhēng) 78
4.4.3 從舊系統(tǒng)過(guò)渡 79
4.5 在規(guī)模化部署時(shí)保持性能 80
4.5.1 CQRS和事件溯源 80
4.5.2 緩存 82
4.6 系統(tǒng)部署 84
4.6.1 邊車(chē)模式 84
4.6.2 零停機(jī)時(shí)間部署 87
4.6.3 外部配置存儲(chǔ) 89
4.7 管理API 89
4.8 總結(jié) 90
問(wèn)題 90
進(jìn)一步閱讀 91
第5章 利用C++語(yǔ)言特性 92
5.1 技術(shù)要求 92
5.2 設(shè)計(jì)優(yōu)秀的API 93
5.2.1 利用RAII 93
5.2.2 指定C++容器接口 93
5.2.3 在接口中使用指針 96
5.2.4 指定前置條件和后置條件 97
5.2.5 使用內(nèi)聯(lián)命名空間 97
5.2.6 使用std::optional 98
5.3 編寫(xiě)聲明式代碼 99
5.3.1 展示特色商品 101
5.3.2 標(biāo)準(zhǔn)范圍介紹 105
5.4 在編譯時(shí)移動(dòng)計(jì)算 107
5.5 利用安全類(lèi)型的力量 108
5.6 編寫(xiě)模塊化的C++代碼 112
5.7 總結(jié) 114
問(wèn)題 114
進(jìn)一步閱讀 115
第6章 設(shè)計(jì)模式和C++ 116
6.1 技術(shù)要求 116
6.2 C++編程習(xí)語(yǔ) 116
6.2.1 使用RAII保護(hù)自動(dòng)執(zhí)行
作用域的退出操作 117
6.2.2 管理可復(fù)制性和可移動(dòng)性 117
6.2.3 使用隱藏的友元 119
6.2.4 使用復(fù)制和交換習(xí)語(yǔ)提供
異常安全性 120
6.2.5 編寫(xiě)niebloid 121
6.2.6 基于策略的設(shè)計(jì)習(xí)語(yǔ) 123
6.3 奇異遞歸模板模式 124
6.3.1 知道何時(shí)使用動(dòng)態(tài)多態(tài)性和
靜態(tài)多態(tài)性 124
6.3.2 實(shí)現(xiàn)靜態(tài)多態(tài)性 125
6.3.3 插曲—使用類(lèi)型擦除技術(shù) 127
6.4 創(chuàng)建對(duì)象 128
6.4.1 使用工廠 128
6.4.2 使用構(gòu)建器 132
6.5 在C++中跟蹤狀態(tài)和訪問(wèn)對(duì)象 135
6.6 有效地處理內(nèi)存 138
6.6.1 使用SSO/SOO減少動(dòng)態(tài)
分配 138
6.6.2 通過(guò)COW來(lái)節(jié)省內(nèi)存 139
6.6.3 使用多態(tài)分配器 139
6.7 總結(jié) 143
問(wèn)題 143
進(jìn)一步閱讀 144
第7章 構(gòu)建和打包 145
7.1 技術(shù)要求 145
7.2 充分利用編譯器 145
7.2.1 使用多個(gè)編譯器 146
7.2.2 減少構(gòu)建時(shí)間 146
7.2.3 查找潛在的代碼問(wèn)題 149
7.2.4 使用以編譯器為中心的
工具 150
7.3 抽象構(gòu)建過(guò)程 151
7.3.1 認(rèn)識(shí)CMake 151
7.3.2 使用生成器表達(dá)式 154
7.4 使用外部模塊 155
7.4.1 獲取依賴項(xiàng) 155
7.4.2 使用查找腳本 156
7.4.3 編寫(xiě)查找腳本 157
7.4.4 使用Conan軟件包管理器 159
7.4.5

本目錄推薦

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