大規(guī)模C++程序設(shè)計是C++程序設(shè)計領(lǐng)域有影響力的著作,由軟件開發(fā)大師John Lakos撰寫,劉冰,張林共同翻譯,周尚波校正。本書從物理設(shè)計和邏輯設(shè)計兩個方面,全方位闡釋從事大型和超大型C++軟件開發(fā)時應(yīng)該遵循的一系列設(shè)計規(guī)則,結(jié)合大量編程實例,深入探討設(shè)計具有易測試、易維護和可重用等特性的高質(zhì)量大規(guī)模C++軟件產(chǎn)品的各種技術(shù)和方法,為使用C++開發(fā)大型軟件系統(tǒng)提供專業(yè)指南。
內(nèi)容介紹
《大規(guī)模C++程序設(shè)計》由軟件開發(fā)大師JohnLakos親筆撰寫,是C++程序設(shè)計領(lǐng)域最有影響力的著作之一。作者結(jié)合自己多年從事大規(guī)模C++項目的開發(fā)經(jīng)驗,詳細介紹了大規(guī)模C++程序設(shè)計涉及的一系列概念、理論、原理、設(shè)計規(guī)則及編程規(guī)范,并通過大量真實世界的編程示例,深入解析物理設(shè)計和邏輯設(shè)計的一些新概念和新理論,闡明了在從事大型和超大型C++軟件工程時應(yīng)該遵循的一系列設(shè)計規(guī)則,論述了設(shè)計具有易測試、易維護和可重用等特性的高質(zhì)量大規(guī)模C++軟件產(chǎn)品的方法。
《大規(guī)模C++程序設(shè)計》共分為三部分,共11章。一部分(第1~2章)介紹一些C++語言開發(fā)的基礎(chǔ)知識、通用設(shè)計模式,以及C++項目開發(fā)中應(yīng)該遵守的一些基本軟件設(shè)計原則;第二部分(第3~7章)全面介紹了優(yōu)秀物理設(shè)計的基本概念,設(shè)計的基本單元組件、物理層次結(jié)構(gòu)、系統(tǒng)分層技術(shù)、隔離技術(shù)等,詳細闡述了如何利用合理的物理設(shè)計層次結(jié)構(gòu),通過隔離、增量和分層測試以更低的成本獲得更高的可靠性,如何利用分層技術(shù)降低系統(tǒng)內(nèi)的鏈接依賴性,如何利用隔離技術(shù)減輕或消除編譯時依賴性,并講解了如何將這些技術(shù)應(yīng)用到超大型系統(tǒng)中;第三部分(第8~10章)講解了邏輯設(shè)計問題,包括組件總體設(shè)計需要考慮的重要因素,詳細闡述了創(chuàng)建一個組件的功能接口所涉及的問題,以及在大型項目環(huán)境中實現(xiàn)對象的特定組織問題。
大規(guī)模C++程序設(shè)計章節(jié)目錄
第0章概述
0.1從C到C++
0.2使用C++開發(fā)大型項目
0.3重用
0.4質(zhì)量
0.5軟件開發(fā)工具
0.6小結(jié)
第一部分基礎(chǔ)知識
第1章預(yù)備知識
1.1多文件C++程序
1.2 typedef聲明
1.3斷言語句
1.4編程風格
1.5迭代器
1.6邏輯設(shè)計表示法
1.7繼承與分層
1.8最小化
1.9小結(jié)
第2章基本規(guī)則
2.1概述
2.2成員數(shù)據(jù)訪問
2.3全局名字空間
2.4包含衛(wèi)哨
2.5冗余包含衛(wèi)哨
2.6文檔
2.7標識符命名規(guī)則
2.8小結(jié)
第二部分物理設(shè)計概念
第3章組件
3.1組件與類
3.2物理設(shè)計規(guī)則
3.3依賴關(guān)系
3.4隱含依賴
3.5提取實際的依賴
3.6友元關(guān)系
3.7小結(jié)
第4章物理層
4.1軟件測試的一個比喻
4.2一個復(fù)雜的子系統(tǒng)
4.3測試"好"接口的難度
4.4可測性設(shè)計
4.5隔離測試
4.6非循環(huán)物理依賴
4.7層次編號
4.8分層和增量測試
4.9測試一個復(fù)雜子系統(tǒng)
4.10可測性與測試
4.11循環(huán)物理依賴
4.12累積組件依賴
4.13物理設(shè)計質(zhì)量
4.14小結(jié)
第5章層次化
5.1循環(huán)物理依賴的一些來源
5.2升級
5.3降級
5.4不透明指針
5.5啞數(shù)據(jù)
5.6冗余
5.7回調(diào)方法
5.8管理者類
5.9分解
5.10升級封裝
5.11小結(jié)
第6章隔離
6.1從封裝到隔離
6.2 C++結(jié)構(gòu)和編譯時耦合
6.3局部隔離技術(shù)
6.4整體的隔離技術(shù)
6.5過程接口
6.6隔離或不隔離
6.7小結(jié)
第7章包
7.1從組件到包
7.2注冊包前綴
7.3包層次化
7.4包隔離
7.5包群
7.6發(fā)布過程
7.7 main程序
7.8啟動
7.9小結(jié)
第三部分邏輯設(shè)計問題
第8章組件架構(gòu)
8.1抽象和組件
8.2組件接口設(shè)計
8.3封裝程度
8.4輔助實現(xiàn)類
8.5小結(jié)
第9章函數(shù)設(shè)計
9.1函數(shù)接口說明
9.2在接口中使用的基本類型
9.3特殊情況函數(shù)
9.4小結(jié)
第10章對象實現(xiàn)
10.1成員數(shù)據(jù)
10.2函數(shù)定義
10.3內(nèi)存管理
10.4在大型項目中使用C++模板
10.5小結(jié)
附錄A協(xié)議層設(shè)計模式
附錄B實現(xiàn)一個與ANSI C兼容的C++接口
附錄C一個依賴提取器包/分析器包
附錄D快速參考




