中图网(原中国图书网):网上书店,尾货特色书店,30万种特价书低至2折!

歡迎光臨中圖網(wǎng) 請(qǐng) | 注冊(cè)
> >>
現(xiàn)代C++軟件架構(gòu):方法與實(shí)踐

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

出版社:機(jī)械工業(yè)出版社出版時(shí)間:2023-10-01
開(kāi)本: 16開(kāi) 頁(yè)數(shù): 345
中 圖 價(jià):¥90.4(6.5折) 定價(jià)  ¥139.0 登錄后可看到會(huì)員價(jià)
加入購(gòu)物車(chē) 收藏
開(kāi)年大促, 全場(chǎng)包郵
?新疆、西藏除外
本類五星書(shū)更多>

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

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

軟件架構(gòu)是指復(fù)雜應(yīng)用程序的高級(jí)設(shè)計(jì)。它像我們使用的編程語(yǔ)言一樣不斷進(jìn)化。現(xiàn)代C 允許開(kāi)發(fā)人員在不犧牲可讀性和可維護(hù)性的情況下,用高級(jí)語(yǔ)言編寫(xiě)高性能應(yīng)用程序。如果你正在使用現(xiàn)代C ,那么本書(shū)將幫助你把相關(guān)知識(shí)應(yīng)用到工作中,設(shè)計(jì)分布式大規(guī)模應(yīng)用程序。

本書(shū)首先快速介紹架構(gòu)概念,包括已建立的模式和不斷上升的趨勢(shì);然后,詳細(xì)闡釋軟件架構(gòu)的概念及其組件;接著,深入探索應(yīng)用程序架構(gòu)中涉及的設(shè)計(jì)概念和軟件開(kāi)發(fā)中涉及的模式,詳細(xì)介紹構(gòu)建、打包、集成和部署組件的方法,以及架構(gòu)的不同質(zhì)量屬性,例如可維護(hù)性、可重用性、可測(cè)試性、性能、可伸縮性和安全性;*后,概述分布式系統(tǒng),例如面向服務(wù)的架構(gòu)、微服務(wù)和云原生設(shè)計(jì),并簡(jiǎn)單介紹如何在應(yīng)用程序開(kāi)發(fā)中應(yīng)用它們。

學(xué)完本書(shū)內(nèi)容,你將能夠使用現(xiàn)代C 和相關(guān)工具構(gòu)建分布式服務(wù),并根據(jù)客戶的需求交付解決方案。

現(xiàn)代C++軟件架構(gòu):方法與實(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ù)人員閱讀。

現(xiàn)代C++軟件架構(gòu):方法與實(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 需求的類型 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 利用安全類型的力量 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 插曲—使用類型擦除技術(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
展開(kāi)全部

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

艾德里安.奧斯特洛夫斯基(Adrian Ostrowski),Intel和Habana的機(jī)器學(xué)習(xí)框架集成架構(gòu)師之一。他是一名現(xiàn)代C++愛(ài)好者,對(duì)C++語(yǔ)言本身和用它進(jìn)行高質(zhì)量代碼開(kāi)發(fā)都充滿興趣。他還是一名終身學(xué)習(xí)者,有超過(guò)10年的IT從業(yè)經(jīng)驗(yàn),特別是有超過(guò)8年的C++從業(yè)經(jīng)驗(yàn),而且喜歡分享知識(shí)。他開(kāi)發(fā)過(guò)并行計(jì)算、光纖網(wǎng)絡(luò)等相關(guān)項(xiàng)目以及商品交易所的交易系統(tǒng)。 彼得亞雷.加奇科夫斯基(Piotr Gaczkowski),他在編程和DevOps實(shí)踐方面有超過(guò)10年的經(jīng)驗(yàn),喜歡利用技術(shù)來(lái)改善人們的生活。他喜歡研究問(wèn)題并給出簡(jiǎn)單解決方案,擅長(zhǎng)組織文化活動(dòng),還喜歡向其他專業(yè)人士分享知識(shí)。 陳靖,北京大學(xué)、卡耐基梅隆大學(xué)軟件工程雙碩士,目前擔(dān)任小紅書(shū)音視頻架構(gòu)負(fù)責(zé)人,從0到1組建了小紅書(shū)的音視頻技術(shù)團(tuán)隊(duì)。曾任51Talk首席音視頻科學(xué)家,曾在Google(美國(guó))擔(dān)任高級(jí)軟件工程師。參與創(chuàng)立了深圳市人工智能產(chǎn)業(yè)協(xié)會(huì),并擔(dān)任協(xié)會(huì)副秘書(shū)長(zhǎng)以及AI+多媒體首席科學(xué)家。與人合著有《深入理解視頻編解碼技術(shù)》一書(shū),譯有《計(jì)算機(jī)視覺(jué)算法:基于OpenCV的計(jì)算機(jī)應(yīng)用開(kāi)發(fā)》一書(shū)。

暫無(wú)評(píng)論……
書(shū)友推薦
返回頂部
中圖網(wǎng)
在線客服
主站蜘蛛池模板: 圈酒招商网【jiushuitv.com】_酒水招商_代理_加盟平台 | 注浆压力变送器-高温熔体传感器-矿用压力传感器|ZHYQ朝辉 | 防火门|抗爆门|超大门|医疗门|隔声门-上海加汇门业生产厂家 | 轴流风机-鼓风机-离心风机-散热风扇-罩极电机,生产厂家-首肯电子 | 滁州高低温冲击试验箱厂家_安徽高低温试验箱价格|安徽希尔伯特 | 运动木地板价格,篮球馆体育运动木地板生产厂家_欧氏地板 | 注塑_注塑加工_注塑模具_塑胶模具_注塑加工厂家_深圳环科 | 路面机械厂家| 上海电子秤厂家,电子秤厂家价格,上海吊秤厂家,吊秤供应价格-上海佳宜电子科技有限公司 | 精益专家 - 设备管理软件|HSE管理系统|设备管理系统|EHS安全管理系统 | 潍坊大集网-潍坊信息港-潍坊信息网 | 乳化沥青设备_改性沥青设备_沥青加温罐_德州市昊通路桥工程有限公司 | 三佳互联一站式网站建设服务|网站开发|网站设计|网站搭建服务商 赛默飞Thermo veritiproPCR仪|ProFlex3 x 32PCR系统|Countess3细胞计数仪|371|3111二氧化碳培养箱|Mirco17R|Mirco21R离心机|仟诺生物 | 沥青灌缝机_路面灌缝机_道路灌缝机_沥青灌缝机厂家_济宁萨奥机械有限公司 | 转向助力泵/水泵/发电机皮带轮生产厂家-锦州华一精工有限公司 | 定量包装秤,吨袋包装称,伸缩溜管,全自动包装秤,码垛机器人,无锡市邦尧机械工程有限公司 | 科昊仪器超纯水机系统-可成气相液氮罐-美菱超低温冰箱-西安昊兴生物科技有限公司 | 新型锤式破碎机_新型圆锥式_新型颚式破碎机_反击式打沙机_锤式制砂机_青州建源机械 | 网站建设,北京网站建设,北京网站建设公司,网站系统开发,北京网站制作公司,响应式网站,做网站公司,海淀做网站,朝阳做网站,昌平做网站,建站公司 | 厦门网站建设_厦门网站设计_小程序开发_网站制作公司【麦格科技】 | 预制直埋蒸汽保温管-直埋管道-聚氨酯发泡保温管厂家 - 唐山市吉祥保温工贸有限公司 | 上海单片机培训|重庆曙海培训分支机构—CortexM3+uC/OS培训班,北京linux培训,Windows驱动开发培训|上海IC版图设计,西安linux培训,北京汽车电子EMC培训,ARM培训,MTK培训,Android培训 | 半自动预灌装机,卡式瓶灌装机,注射器灌装机,给药器灌装机,大输液灌装机,西林瓶灌装机-长沙一星制药机械有限公司 | 安驭邦官网-双向万能直角铣头,加工中心侧铣头,角度头[厂家直销] 闸阀_截止阀_止回阀「生产厂家」-上海卡比阀门有限公司 | 深圳市八百通智能技术有限公司官方网站 | 桁架机器人_桁架机械手_上下料机械手_数控车床机械手-苏州清智科技装备制造有限公司 | 天津次氯酸钠酸钙溶液-天津氢氧化钠厂家-天津市辅仁化工有限公司 | 淘气堡_室内儿童乐园_户外无动力儿童游乐设备-高乐迪(北京) | 济南品牌包装设计公司_济南VI标志设计公司_山东锐尚文化传播 | 颚式破碎机,圆锥破碎机,制砂机-新乡市德诚机电制造有限公司 | RS系列电阻器,RK_RJ启动调整电阻器,RQ_RZ电阻器-上海永上电器有限公司 | 水质监测站_水质在线分析仪_水质自动监测系统_多参数水质在线监测仪_水质传感器-山东万象环境科技有限公司 | 拉曼光谱仪_便携式|激光|显微共焦拉曼光谱仪-北京卓立汉光仪器有限公司 | 河南凯邦机械制造有限公司| 防水套管|柔性防水套管|伸缩器|伸缩接头|传力接头-河南伟创管道 防水套管_柔性防水套管_刚性防水套管-巩义市润达管道设备制造有限公司 | 天一线缆邯郸有限公司_煤矿用电缆厂家_矿用光缆厂家_矿用控制电缆_矿用通信电缆-天一线缆邯郸有限公司 | 在线浊度仪_悬浮物污泥浓度计_超声波泥位计_污泥界面仪_泥水界面仪-无锡蓝拓仪表科技有限公司 | 安徽千住锡膏_安徽阿尔法锡膏锡条_安徽唯特偶锡膏_卡夫特胶水-芜湖荣亮电子科技有限公司 | 法兰螺母 - 不锈钢螺母制造厂家 - 万千紧固件--螺母街 | SDI车窗夹力测试仪-KEMKRAFT方向盘测试仪-上海爱泽工业设备有限公司 | 标准件-非标紧固件-不锈钢螺栓-非标不锈钢螺丝-非标螺母厂家-三角牙锁紧自攻-南京宝宇标准件有限公司 |