注冊 | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當(dāng)前位置: 首頁出版圖書科學(xué)技術(shù)計算機(jī)/網(wǎng)絡(luò)軟件與程序設(shè)計程序設(shè)計綜合C++經(jīng)典傳承套裝:C++ Primer 中文版+C++ API設(shè)計(第4版 套裝全2冊)

C++經(jīng)典傳承套裝:C++ Primer 中文版+C++ API設(shè)計(第4版 套裝全2冊)

C++經(jīng)典傳承套裝:C++ Primer 中文版+C++ API設(shè)計(第4版 套裝全2冊)

定 價:¥188.00

作 者: Martin Reddy,Stanley B.Lippman Josee Lajoie Barbara E.Moo 著,林瑛,梅曉勇,蔣愛軍,李師賢 等譯
出版社: 人民郵電出版社
叢編項:
標(biāo) 簽: 編程語言與程序設(shè)計 計算機(jī)與互聯(lián)網(wǎng)

購買這本書可以去


ISBN: 9787115000774 出版時間: 2013-11-01 包裝: 平裝
開本: 16開 頁數(shù): 1144 字?jǐn)?shù):  

內(nèi)容簡介

  《C++ Primer中文版(第4版)》久負(fù)盛名的C++經(jīng)典教程,其內(nèi)容是C++大師Stanley B. Lippman豐富的實踐經(jīng)驗和C++標(biāo)準(zhǔn)委員會原負(fù)責(zé)人Josée Lajoie對C++標(biāo)準(zhǔn)深入理解的完美結(jié)合,已經(jīng)幫助全球無數(shù)程序員學(xué)會了C++。本版對前一版進(jìn)行了徹底的修訂,內(nèi)容經(jīng)過了重新組織,更加入了C++先驅(qū)Barbara E.Moo在C++教學(xué)方面的真知灼見。既顯著改善了可讀性,又充分體現(xiàn)了C++語言的最新進(jìn)展和當(dāng)前的業(yè)界最佳實踐?!禖++ Primer中文版(第4版)》中不但新增大量教學(xué)輔助內(nèi)容,用于強(qiáng)調(diào)重要的知識點(diǎn),提醒常見的錯誤,推薦優(yōu)秀的編程實踐,給出使用提示,還包含大量來自實戰(zhàn)的示例和習(xí)題。對C++基本概念和技術(shù)全面而且權(quán)威的闡述,對現(xiàn)代C++編程風(fēng)格的強(qiáng)調(diào),使本書成為C++初學(xué)者的最佳指南;對于中高級程序員,《C++ Primer中文版(第4版)》也是不可或缺的參考書?!禖++ API設(shè)計》現(xiàn)代軟件開發(fā)中的一大難題就是如何編寫優(yōu)質(zhì)的API。API負(fù)責(zé)為某個組件提供邏輯接口并隱藏該模塊的內(nèi)部細(xì)節(jié)。多數(shù)程序員依靠的是經(jīng)驗和冒險,從而很難達(dá)到健壯、高效、穩(wěn)定、可擴(kuò)展性強(qiáng)的要求。Martin Reddy博士在自己多年經(jīng)驗基礎(chǔ)之上,對于不同API風(fēng)格與模式,總結(jié)出了API設(shè)計的種種最佳策略,著重針對大規(guī)模長期開發(fā)項目,輔以翔實的代碼范例,從而有助于設(shè)計決策的成功實施,以及軟件項目的健壯性及穩(wěn)定性的實現(xiàn)。《C++ API設(shè)計》主要內(nèi)容:API簡介及其特點(diǎn)API的一些設(shè)計模式及慣用法影響API的設(shè)計的一些C++特性把控API的風(fēng)格與性能版本控制與文檔化的實現(xiàn)各種優(yōu)秀的測試方法如何創(chuàng)建腳本綁定,以便API能被諸如Ruby和Python等語言調(diào)用可擴(kuò)展性API的基本實現(xiàn)方式類庫的編譯器實現(xiàn)

作者簡介

  Martin Reddy,博士是軟件行業(yè)的一名老兵,有著15年以上的從業(yè)經(jīng)驗,共撰寫過40多篇論文,擁有3項軟件專利,并與他人合著了Level of Detail for 3D Graphics。另外,他還是ACM以及IEEE的會員。早年,他曾在SRI International供職5年,主要從事分布式三維地形可視化技術(shù)方面的工作,他成功創(chuàng)建了在Web上描述3D地球空間信息模型的ISO標(biāo)準(zhǔn),并且還連續(xù)兩年被選為Web3D協(xié)會的會長。他曾在Pixar動畫工作室工作過6年,擔(dān)任內(nèi)部動畫系統(tǒng)的首席工程師,設(shè)計并實現(xiàn)了很多高性能API,這些API在一些奧斯卡獲獎及提名影片的制作中都發(fā)揮了關(guān)鍵作用,這些影片有《海底總動員》、《超人總動員》、《賽車總動員》、《料理鼠王》,以及《機(jī)器人總動員》等。他還開辦了一家咨詢公司Code Reddy,為各家軟件公司提供技術(shù)咨詢,主要客戶有Linden Lab和Planet 9 Studios,為大型在線3D虛擬世界《第二人生》設(shè)計了API并改善了其基本架構(gòu)?,F(xiàn)在他擔(dān)任ToyTalk公司的首席技術(shù)官。Stanley B. Lippman,目前是微軟公司 Visual C++ 團(tuán)隊的架構(gòu)師。他從1984年開始在貝爾實驗室與C++的設(shè)計者Bjarne Stroustrup一起從事C++的設(shè)計與開發(fā)。他在迪士尼和夢工廠從事動畫制作,還擔(dān)任過JPL的高級顧問。他還著有Inside the C++ Object Model。Josée Lajoie,曾經(jīng)是IBM加拿大研究中心C/C++編譯器開發(fā)團(tuán)隊的成員,在ISO C++標(biāo)準(zhǔn)委員會工作了7年,擔(dān)任過ISO核心語言工作組的主席和C++ Report雜志的專欄作家。Barbara E. Moo,是擁有25年軟件經(jīng)驗的獨(dú)立咨詢顧問。在AT&T,她與Stroustrup、Lippman一起管理過復(fù)雜的C++開發(fā)項目。她和Andrew Koenig合著了Accelerated C++和Ruminations on C++。譯者簡介:劉曉娜,中國科學(xué)院計算技術(shù)研究所員工,在職博士,從事網(wǎng)絡(luò)大數(shù)據(jù)采集及挖掘方面的研究,愛好讀書、翻譯和旅游。臧秀濤,碩士畢業(yè)于中國科學(xué)院計算技術(shù)研究所。曾從事網(wǎng)絡(luò)游戲、操作系統(tǒng)方面的開發(fā)工作。熱愛技術(shù)、讀書和翻譯。林健,中國科學(xué)院計算技術(shù)研究所博士生,從事機(jī)群與網(wǎng)格計算方面的研究,愛好DIY、開源軟件與技術(shù)寫作。

圖書目錄

《C++ Primer中文版(第4版)》
第1章 快速入門
1.1 編寫簡單的C++程序
1.2 初窺輸入/輸出
1.3 關(guān)于注釋
1.4 控制結(jié)構(gòu) 入
1.5 類的簡介
1.6 C++程序
小結(jié)
術(shù)語
第一部分 基本語言
第2章 變量和基本類型
2.1 基本內(nèi)置類型
2.2 字面值常量
2.3 變量
2.4 const限定符
2.5 引用
2.6 typedef名字
2.7 枚舉
2.8 類類型
2.9 編寫自己的頭文件
小結(jié)
術(shù)語
第3章 標(biāo)準(zhǔn)庫類型
3.1 命名空間的using聲明
3.2 標(biāo)準(zhǔn)庫string類型
3.3 標(biāo)準(zhǔn)庫vector類型
3.4 迭代器簡介
3.5 標(biāo)準(zhǔn)庫bitset類型
小結(jié)
術(shù)語
第4章 數(shù)組和指針
4.1 數(shù)組
4.2 指針的引入
4.3 C風(fēng)格字符串
4.4 多維數(shù)組
小結(jié)
術(shù)語
第5章 表達(dá)式
5.1 算術(shù)操作符
5.2 關(guān)系操作符和邏輯操作符
5.3 位操作符
5.4 賦值操作符
5.5 自增和自減操作符
5.6 箭頭操作符
5.7 條件操作符
5.8 sizeof操作符
5.9 逗號操作符
5.10 復(fù)合表達(dá)式的求值
5.11 new和delete表達(dá)式
5.12 類型轉(zhuǎn)換
小結(jié)
術(shù)語
第6章 語句
6.1 簡單語句
6.2 聲明語句
6.3 復(fù)合語句(塊)
6.4 語句作用域
6.5 if語句
6.6 switch語句
6.7 while語句
6.8 for循環(huán)語句
6.9 do while語句
6.10 break語句
6.11 continue語句
6.12 goto語句
6.13 try塊和異常處理
6.14 使用預(yù)處理器進(jìn)行調(diào)試
小結(jié)
術(shù)語
第7章 函數(shù)
7.1 函數(shù)的定義
7.2 參數(shù)傳遞
7.3 return語句
7.4 函數(shù)聲明
7.5 局部對象
7.6 內(nèi)聯(lián)函數(shù)
7.7 類的成員函數(shù)
7.8 重載函數(shù)
7.9 指向函數(shù)的指針
小結(jié)
術(shù)語
第8章 標(biāo)準(zhǔn)IO庫
8.1 面向?qū)ο蟮臉?biāo)準(zhǔn)庫
8.2 條件狀態(tài)
8.3 輸出緩沖區(qū)的管理
8.4 文件的輸入和輸出
8.5 字符串流
小結(jié)
術(shù)語
第二部分 容器和算法
第9章 順序容器
第10章 關(guān)聯(lián)容器
第11章 泛型算法
第三部分 類和數(shù)據(jù)抽象
第12章 類
第13章 復(fù)制控制
第14章 重載操作符與轉(zhuǎn)換
第四部分 面向?qū)ο缶幊膛c泛型編程
第15章 面向?qū)ο缶幊?br />第16章 模板與泛型編程
第五部分 高級主題
第17章 用于大型程序的工具
第18章 特殊工具與技術(shù)
附錄 標(biāo)準(zhǔn)庫
索引

第1章 API簡介
1.1  什么是API
1.1.1  契約和承包人
1.1.2  C++中的API
1.2  API設(shè)計上有什么不同
1.3  為什么使用API
1.3.1  更健壯的代碼
1.3.2  代碼復(fù)用
1.3.3  并行開發(fā)
1.4  何時應(yīng)當(dāng)避免使用API
1.5  API示例
1.5.1  API層次
1.5.2  真實示例
1.6  文件格式和網(wǎng)絡(luò)協(xié)議
1.7  關(guān)于本書
第2章 特征
2.1  問題域建模
2.1.1  提供良好的抽象
2.1.2  關(guān)鍵對象的建模
2.2  隱藏實現(xiàn)細(xì)節(jié)
2.2.1  物理隱藏:聲明與定義
2.2.2  邏輯隱藏:封裝
2.2.3  隱藏成員變量
2.2.4  隱藏實現(xiàn)方法
2.2.5  隱藏實現(xiàn)類
2.3  最小完備性
2.3.1  不要過度承諾
2.3.2  謹(jǐn)慎添加虛函數(shù)
2.3.3  便捷API
2.4  易用性
2.4.1  可發(fā)現(xiàn)性
2.4.2  不易誤用
2.4.3  一致性
2.4.4  正交
2.4.5  健壯的資源分配
2.4.6  平臺獨(dú)立
2.5  松耦合
2.5.1  僅通過名字耦合
2.5.2  降低類耦合
2.5.3  刻意的冗余
2.5.4  管理器類
2.5.5  回調(diào)、觀察者和通知
2.6  穩(wěn)定的、文檔詳細(xì)且經(jīng)過測試的API
第3章 模式
3.1  Pimpl慣用法
3.1.1  使用Pimpl
3.1.2  復(fù)制語義
3.1.3  Pimpl與智能指針
3.1.4  Pimpl的優(yōu)點(diǎn)
3.1.5  Pimpl的缺點(diǎn)
3.1.6  C語言的不透明指針
3.2  單例
3.2.1  在C++中實現(xiàn)單例
3.2.2  使單例線程安全
3.2.3  單例與依賴注入
3.2.4  單例與單一狀態(tài)
3.2.5  單例與會話狀態(tài)
3.3  工廠模式
3.3.1  抽象基類
3.3.2  工廠示例
3.3.3  擴(kuò)展工廠示例
3.4  API包裝器模式
3.4.1  代理模式
3.4.2  適配器模式
3.4.3  外觀模式
3.5  觀察者模式
3.5.1  MVC架構(gòu)
3.5.2  實現(xiàn)觀察者模式
3.5.3  推與拉觀察者
第4章 設(shè)計
4.1  良好設(shè)計的例子
4.1.1  積累技術(shù)債
4.1.2  償還技術(shù)債
4.1.3  為長期而設(shè)計
4.2  收集功能性需求
4.2.1  什么是功能性需求
4.2.2  功能性需求舉例
4.2.3  維護(hù)需求
4.3  創(chuàng)建用例
4.3.1  開發(fā)用例
4.3.2  用例模板
4.3.3  編寫高質(zhì)量用例
4.3.4   需求與敏捷開發(fā)
4.4  API設(shè)計的元素
4.5  架構(gòu)設(shè)計
4.5.1  架構(gòu)的開發(fā)
4.5.2  架構(gòu)的約束
4.5.3  識別主要抽象
4.5.4  創(chuàng)造關(guān)鍵對象
4.5.5  架構(gòu)模式
4.5.6  架構(gòu)的交流
4.6  類的設(shè)計
4.6.1  面向?qū)ο蟾拍?br />4.6.2  類設(shè)計選項
4.6.3  使用繼承
4.6.4  Liskov替換原則
4.6.5  開放?封閉原則
4.6.6  迪米特法則
4.6.7  類的命名
4.7  函數(shù)設(shè)計
4.7.1  函數(shù)設(shè)計選項
4.7.2  函數(shù)命名
4.7.3  函數(shù)參數(shù)
4.7.4  錯誤處理
第5章 風(fēng)格
5.1  純C API
5.1.1  ANSI C特性
5.1.2  ANSI C API的優(yōu)點(diǎn)
5.1.3  使用ANSI C編寫API
5.1.4  從C++中調(diào)用C函數(shù)
5.1.5  案例研究:FMOD C API
5.2  面向?qū)ο蟮腃++ API
5.2.1  面向?qū)ο驛PI的優(yōu)點(diǎn)
5.2.2  面向?qū)ο驛PI的缺點(diǎn)
5.2.3  案例研究:FMOD C++ API
5.3  基于模板的API
5.3.1  基于模板的API示例
5.3.2  模板與宏
5.3.3  基于模板的API的優(yōu)點(diǎn)
5.3.4  基于模板的API的缺點(diǎn)
5.4  數(shù)據(jù)驅(qū)動型API
5.4.1  數(shù)據(jù)驅(qū)動型Web服務(wù)
5.4.2  數(shù)據(jù)驅(qū)動型API的優(yōu)點(diǎn)
5.4.3  數(shù)據(jù)驅(qū)動API的缺點(diǎn)
5.4.4  支持可變參數(shù)列表
5.4.5  案例研究:FMOD數(shù)據(jù)驅(qū)動型API
第6章 C++用法
6.1  命名空間
6.2  構(gòu)造函數(shù)和賦值
6.2.1  控制編譯器生成的函數(shù)
6.2.2  定義構(gòu)造函數(shù)和賦值操作符
6.2.3  explicit關(guān)鍵字
6.3  const正確性
6.3.1  方法的const正確性
6.3.2  參數(shù)的const正確性
6.3.3  返回值的const正確性
6.4  模板
6.4.1  模板術(shù)語
6.4.2  隱式實例化API設(shè)計
6.4.3  顯式實例化API設(shè)計
6.5  操作符重載
6.5.1  可重載的操作符
6.5.2  自由操作符與成員操作符
6.5.3  為類添加操作符
6.5.4  操作符語法
6.5.5  轉(zhuǎn)換操作符
6.6  函數(shù)參數(shù)
6.6.1  指針與引用參數(shù)
6.6.2  默認(rèn)參數(shù)
6.7  避免使用#define定義常量
6.8  避免使用友元
6.9  導(dǎo)出符號
6.10  編碼規(guī)范
第7章 性能
7.1  通過const引用傳遞輸入?yún)?shù)
7.2  最小化#include依賴
7.2.1  避免"無所不包型"頭文件
7.2.2  前置聲明
7.2.3  冗余的#include警戒語句
7.3  聲明常量
7.4  初始化列表
7.5  內(nèi)存優(yōu)化
7.6  除非需要,勿用內(nèi)聯(lián)
7.7  寫時復(fù)制
7.8  迭代元素
7.8.1  迭代器
7.8.2  隨機(jī)訪問
7.8.3  數(shù)組引用
7.9  性能分析
7.9.1  時效性分析
7.9.2  基于內(nèi)存的分析
7.9.3  多線程分析
第8章 版本控制
8.1  版本號
8.1.1  版本號的意義
8.1.2  小眾的編號方案
8.1.3  提供API的版本信息
8.2  軟件分支策略
8.2.1  分支策略
8.2.2  分支方針
8.2.3  API和并行分支
8.2.4  文件格式和并行發(fā)布產(chǎn)品
8.3  API的生命周期
8.4  兼容性級別
8.4.1  向后兼容性
8.4.2  功能兼容性
8.4.3  源代碼兼容性
8.4.4  二進(jìn)制兼容性
8.4.5  向前兼容性
8.5  怎樣維護(hù)向后兼容性
8.5.1  添加功能
8.5.2  修改功能
8.5.3  棄用功能
8.5.4  移除功能
8.6  API審查
8.6.1  API審查的目的
8.6.2  API預(yù)發(fā)布審查
8.6.3  API預(yù)提交審查
第9章 文檔
9.1  編寫文檔的理由
9.1.1  定義行為
9.1.2  為接口契約編寫文檔
9.1.3  告知行為的改變
9.1.4  文檔涉及的內(nèi)容
9.2  文檔的類型
9.2.1  自動生成的API文檔
9.2.2  概述文檔
9.2.3  示例和教程
9.2.4  發(fā)布說明
9.2.5   授權(quán)信息
9.3  文檔可用性
9.4  使用Doxygen
9.4.1  配置文件
9.4.2  注釋風(fēng)格和命令
9.4.3  API注釋
9.4.4  文件注釋
9.4.5  類注釋
9.4.6  方法注釋
9.4.7  枚舉注釋
9.4.8  帶有文檔的示例頭文件
第10章 測試
10.1  編寫測試的理由
10.2  API測試的類型
10.2.1  單元測試
10.2.2  集成測試
10.2.3  性能測試
10.3  編寫良好的測試
10.3.1  良好測試的特征
10.3.2  測試對象
10.3.3  關(guān)注測試工作量
10.3.4  與QA一起工作
10.4  編寫可測試的代碼
10.4.1  測試驅(qū)動開發(fā)
10.4.2  樁對象和模擬對象
10.4.3  測試私有代碼
10.4.4  使用斷言
10.4.5  契約編程
10.4.6  記錄并重放功能
10.4.7  支持國際化
10.5  自動化測試工具
10.5.1  自動化測試框架
10.5.2  代碼覆蓋率
10.5.3  缺陷跟蹤系統(tǒng)
10.5.4  持續(xù)構(gòu)建系統(tǒng)
第11章 腳本化
11.1  添加腳本綁定
11.1.1  擴(kuò)充或嵌入
11.1.2  腳本化的優(yōu)點(diǎn)
11.1.3  語言兼容性問題
11.1.4  跨越語言障礙
11.2  腳本綁定技術(shù)
11.2.1  Boost Python
11.2.2  SWIG
11.2.3  Python-SIP
11.2.4  COM自動化
11.2.5  CORBA
11.3  使用Boost Python添加Python綁定
11.3.1  構(gòu)建Boost Python
11.3.2  使用Boost Python包裝C++ API
11.3.3  構(gòu)造函數(shù)
11.3.4  擴(kuò)充Python API
11.3.5  C++中的繼承
11.3.6  跨語言多態(tài)
11.3.7  支持迭代器
11.3.8  綜合應(yīng)用
11.4  使用SWIG添加Ruby綁定
11.4.1  使用SWIG包裝C++ API
11.4.2  調(diào)整Ruby API
11.4.3  構(gòu)造函數(shù)
11.4.4  擴(kuò)充Ruby API
11.4.5  C++中的繼承
11.4.6  跨語言多態(tài)
11.4.7  綜合應(yīng)用
第12章 可擴(kuò)展性
12.1  通過插件擴(kuò)展
12.1.1  插件模型概覽
12.1.2  插件系統(tǒng)設(shè)計問題
12.1.3  以C++實現(xiàn)插件
12.1.4  插件API
12.1.5  插件示例
12.1.6  插件管理器
12.1.7  插件版本控制
12.2  通過繼承擴(kuò)展
12.2.1  添加功能
12.2.2  修改功能
12.2.3  繼承與STL
12.2.4  繼承與枚舉
12.2.5  訪問者模式
12.2.6  禁止子類化
12.3  通過模板擴(kuò)展
12.3.1  基于策略的模板
12.3.2  奇特的遞歸模板模式
附錄A  庫
參考文獻(xiàn)
索引
《C++ API設(shè)計》
第1章 API簡介
1.1  什么是API
1.1.1  契約和承包人
1.1.2  C++中的API
1.2  API設(shè)計上有什么不同
1.3  為什么使用API
1.3.1  更健壯的代碼
1.3.2  代碼復(fù)用
1.3.3  并行開發(fā)
1.4  何時應(yīng)當(dāng)避免使用API
1.5  API示例
1.5.1  API層次
1.5.2  真實示例
1.6  文件格式和網(wǎng)絡(luò)協(xié)議
1.7  關(guān)于本書
第2章 特征
2.1  問題域建模
2.1.1  提供良好的抽象
2.1.2  關(guān)鍵對象的建模
2.2  隱藏實現(xiàn)細(xì)節(jié)
2.2.1  物理隱藏:聲明與定義
2.2.2  邏輯隱藏:封裝
2.2.3  隱藏成員變量
2.2.4  隱藏實現(xiàn)方法
2.2.5  隱藏實現(xiàn)類
2.3  最小完備性
2.3.1  不要過度承諾
2.3.2  謹(jǐn)慎添加虛函數(shù)
2.3.3  便捷API
2.4  易用性
2.4.1  可發(fā)現(xiàn)性
2.4.2  不易誤用
2.4.3  一致性
2.4.4  正交
2.4.5  健壯的資源分配
2.4.6  平臺獨(dú)立
2.5  松耦合
2.5.1  僅通過名字耦合
2.5.2  降低類耦合
2.5.3  刻意的冗余
2.5.4  管理器類
2.5.5  回調(diào)、觀察者和通知
2.6  穩(wěn)定的、文檔詳細(xì)且經(jīng)過測試的API
第3章 模式
3.1  Pimpl慣用法
3.1.1  使用Pimpl
3.1.2  復(fù)制語義
3.1.3  Pimpl與智能指針
3.1.4  Pimpl的優(yōu)點(diǎn)
3.1.5  Pimpl的缺點(diǎn)
3.1.6  C語言的不透明指針
3.2  單例
3.2.1  在C++中實現(xiàn)單例
3.2.2  使單例線程安全
3.2.3  單例與依賴注入
3.2.4  單例與單一狀態(tài)
3.2.5  單例與會話狀態(tài)
3.3  工廠模式
3.3.1  抽象基類
3.3.2  工廠示例
3.3.3  擴(kuò)展工廠示例
3.4  API包裝器模式
3.4.1  代理模式
3.4.2  適配器模式
3.4.3  外觀模式
3.5  觀察者模式
3.5.1  MVC架構(gòu)
3.5.2  實現(xiàn)觀察者模式
3.5.3  推與拉觀察者
第4章 設(shè)計
4.1  良好設(shè)計的例子
4.1.1  積累技術(shù)債
4.1.2  償還技術(shù)債
4.1.3  為長期而設(shè)計
4.2  收集功能性需求
4.2.1  什么是功能性需求
4.2.2  功能性需求舉例
4.2.3  維護(hù)需求
4.3  創(chuàng)建用例
4.3.1  開發(fā)用例
4.3.2  用例模板
4.3.3  編寫高質(zhì)量用例
4.3.4   需求與敏捷開發(fā)
4.4  API設(shè)計的元素
4.5  架構(gòu)設(shè)計
4.5.1  架構(gòu)的開發(fā)
4.5.2  架構(gòu)的約束
4.5.3  識別主要抽象
4.5.4  創(chuàng)造關(guān)鍵對象
4.5.5  架構(gòu)模式
4.5.6  架構(gòu)的交流
4.6  類的設(shè)計
4.6.1  面向?qū)ο蟾拍?br />4.6.2  類設(shè)計選項
4.6.3  使用繼承
4.6.4  Liskov替換原則
4.6.5  開放?封閉原則
4.6.6  迪米特法則
4.6.7  類的命名
4.7  函數(shù)設(shè)計
4.7.1  函數(shù)設(shè)計選項
4.7.2  函數(shù)命名
4.7.3  函數(shù)參數(shù)
4.7.4  錯誤處理
第5章 風(fēng)格
5.1  純C API
5.1.1  ANSI C特性
5.1.2  ANSI C API的優(yōu)點(diǎn)
5.1.3  使用ANSI C編寫API
5.1.4  從C++中調(diào)用C函數(shù)
5.1.5  案例研究:FMOD C API
5.2  面向?qū)ο蟮腃++ API
5.2.1  面向?qū)ο驛PI的優(yōu)點(diǎn)
5.2.2  面向?qū)ο驛PI的缺點(diǎn)
5.2.3  案例研究:FMOD C++ API
5.3  基于模板的API
5.3.1  基于模板的API示例
5.3.2  模板與宏
5.3.3  基于模板的API的優(yōu)點(diǎn)
5.3.4  基于模板的API的缺點(diǎn)
5.4  數(shù)據(jù)驅(qū)動型API
5.4.1  數(shù)據(jù)驅(qū)動型Web服務(wù)
5.4.2  數(shù)據(jù)驅(qū)動型API的優(yōu)點(diǎn)
5.4.3  數(shù)據(jù)驅(qū)動API的缺點(diǎn)
5.4.4  支持可變參數(shù)列表
5.4.5  案例研究:FMOD數(shù)據(jù)驅(qū)動型API
第6章 C++用法
6.1  命名空間
6.2  構(gòu)造函數(shù)和賦值
6.2.1  控制編譯器生成的函數(shù)
6.2.2  定義構(gòu)造函數(shù)和賦值操作符
6.2.3  explicit關(guān)鍵字
6.3  const正確性
6.3.1  方法的const正確性
6.3.2  參數(shù)的const正確性
6.3.3  返回值的const正確性
6.4  模板
6.4.1  模板術(shù)語
6.4.2  隱式實例化API設(shè)計
6.4.3  顯式實例化API設(shè)計
6.5  操作符重載
6.5.1  可重載的操作符
6.5.2  自由操作符與成員操作符
6.5.3  為類添加操作符
6.5.4  操作符語法
6.5.5  轉(zhuǎn)換操作符
6.6  函數(shù)參數(shù)
6.6.1  指針與引用參數(shù)
6.6.2  默認(rèn)參數(shù)
6.7  避免使用#define定義常量
6.8  避免使用友元
6.9  導(dǎo)出符號
6.10  編碼規(guī)范
第7章 性能
7.1  通過const引用傳遞輸入?yún)?shù)
7.2  最小化#include依賴
7.2.1  避免"無所不包型"頭文件
7.2.2  前置聲明
7.2.3  冗余的#include警戒語句
7.3  聲明常量
7.4  初始化列表
7.5  內(nèi)存優(yōu)化
7.6  除非需要,勿用內(nèi)聯(lián)
7.7  寫時復(fù)制
7.8  迭代元素
7.8.1  迭代器
7.8.2  隨機(jī)訪問
7.8.3  數(shù)組引用
7.9  性能分析
7.9.1  時效性分析
7.9.2  基于內(nèi)存的分析
7.9.3  多線程分析
第8章 版本控制
8.1  版本號
8.1.1  版本號的意義
8.1.2  小眾的編號方案
8.1.3  提供API的版本信息
8.2  軟件分支策略
8.2.1  分支策略
8.2.2  分支方針
8.2.3  API和并行分支
8.2.4  文件格式和并行發(fā)布產(chǎn)品
8.3  API的生命周期
8.4  兼容性級別
8.4.1  向后兼容性
8.4.2  功能兼容性
8.4.3  源代碼兼容性
8.4.4  二進(jìn)制兼容性
8.4.5  向前兼容性
8.5  怎樣維護(hù)向后兼容性
8.5.1  添加功能
8.5.2  修改功能
8.5.3  棄用功能
8.5.4  移除功能
8.6  API審查
8.6.1  API審查的目的
8.6.2  API預(yù)發(fā)布審查
8.6.3  API預(yù)提交審查
第9章 文檔
9.1  編寫文檔的理由
9.1.1  定義行為
9.1.2  為接口契約編寫文檔
9.1.3  告知行為的改變
9.1.4  文檔涉及的內(nèi)容
9.2  文檔的類型
9.2.1  自動生成的API文檔
9.2.2  概述文檔
9.2.3  示例和教程
9.2.4  發(fā)布說明
9.2.5   授權(quán)信息
9.3  文檔可用性
9.4  使用Doxygen
9.4.1  配置文件
9.4.2  注釋風(fēng)格和命令
9.4.3  API注釋
9.4.4  文件注釋
9.4.5  類注釋
9.4.6  方法注釋
9.4.7  枚舉注釋
9.4.8  帶有文檔的示例頭文件
第10章 測試
10.1  編寫測試的理由
10.2  API測試的類型
10.2.1  單元測試
10.2.2  集成測試
10.2.3  性能測試
10.3  編寫良好的測試
10.3.1  良好測試的特征
10.3.2  測試對象
10.3.3  關(guān)注測試工作量
10.3.4  與QA一起工作
10.4  編寫可測試的代碼
10.4.1  測試驅(qū)動開發(fā)
10.4.2  樁對象和模擬對象
10.4.3  測試私有代碼
10.4.4  使用斷言
10.4.5  契約編程
10.4.6  記錄并重放功能
10.4.7  支持國際化
10.5  自動化測試工具
10.5.1  自動化測試框架
10.5.2  代碼覆蓋率
10.5.3  缺陷跟蹤系統(tǒng)
10.5.4  持續(xù)構(gòu)建系統(tǒng)
第11章 腳本化
11.1  添加腳本綁定
11.1.1  擴(kuò)充或嵌入
11.1.2  腳本化的優(yōu)點(diǎn)
11.1.3  語言兼容性問題
11.1.4  跨越語言障礙
11.2  腳本綁定技術(shù)
11.2.1  Boost Python
11.2.2  SWIG
11.2.3  Python-SIP
11.2.4  COM自動化
11.2.5  CORBA
11.3  使用Boost Python添加Python綁定
11.3.1  構(gòu)建Boost Python
11.3.2  使用Boost Python包裝C++ API
11.3.3  構(gòu)造函數(shù)
11.3.4  擴(kuò)充Python API
11.3.5  C++中的繼承
11.3.6  跨語言多態(tài)
11.3.7  支持迭代器
11.3.8  綜合應(yīng)用
11.4  使用SWIG添加Ruby綁定
11.4.1  使用SWIG包裝C++ API
11.4.2  調(diào)整Ruby API
11.4.3  構(gòu)造函數(shù)
11.4.4  擴(kuò)充Ruby API
11.4.5  C++中的繼承
11.4.6  跨語言多態(tài)
11.4.7  綜合應(yīng)用
第12章 可擴(kuò)展性
12.1  通過插件擴(kuò)展
12.1.1  插件模型概覽
12.1.2  插件系統(tǒng)設(shè)計問題
12.1.3  以C++實現(xiàn)插件
12.1.4  插件API
12.1.5  插件示例
12.1.6  插件管理器
12.1.7  插件版本控制
12.2  通過繼承擴(kuò)展
12.2.1  添加功能
12.2.2  修改功能
12.2.3  繼承與STL
12.2.4  繼承與枚舉
12.2.5  訪問者模式
12.2.6  禁止子類化
12.3  通過模板擴(kuò)展
12.3.1  基于策略的模板
12.3.2  奇特的遞歸模板模式
附錄A  庫
參考文獻(xiàn)
索引

本目錄推薦

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