<內容簡介>
開發大型C++軟體系統不只需要了解邏輯設計知識,為了專案成功,您更需要掌握實體設計的觀念,它是開發過程的技術面向,很多資深的軟體開發工程師都不一定很有這方面的經驗。坊間書籍大多是探討邏輯設計,鮮少述及實體設計。
本書是需要大量專業C++開發工作如資料庫、作業系統、編譯器以及軟體框架的權威書籍,它也是教導如何開發大型系統的第一本書,更是少數幾本由C++程式語言的實際面來探討物件導向設計的其中之一。
在本書中,Lakos先生將傳授將大型系統拆解成由小型、易於維護的軟體元件所構成的實體(不是繼承)架構。系統本身如果不具有環形實體相依性,對它維護、測試與重複利用會比對相互緊密相依的系統容易且經濟。除了闡述好的實體設計就像好的邏輯設計一樣重要之外,作者也提供一系列技巧用以消除環形、編譯時期與連結時期相依關係。作者接著會延伸這些觀念到非常非常大型的系統,而在本書後段將探討單一元件設計常見的top-down方式。
本書附錄A收錄了一個非常有價值的設計範式:“Protocol Hierarchy”,用來避免產生過胖的介面,同時將實體相依關係最小化。附錄B則是實作一個ANSI C相容的C++程序介面,附錄C介紹一組UNIX下的工具,用以萃取與分析實體相依性,最後,附錄D整理本書介紹的所有設計規則、設計指南以及原理,以便讓您快速參考。
John Lakos先生曾任職於Mentor Graphics(明導國際),它是一家撰寫過無數大型C++程式的公司,也是第一家嘗試完全採用C++來進行大型軟體開發的公司。Lakos先生在1987年就已經是C++開發的專家,並在1990開始於哥倫比亞大學開設物件導向程式設計的研究所課程。
<章節目錄>
Chapter 0 簡介
PART I 基礎
Chapter 1 預備知識
Chapter 2 基本規則
PART II 實體設計觀念
Chapter 3 元件
Chapter 4 實體層級
Chapter 5 階層化
Chapter 6 絕緣
Chapter 7 套件
PART III 邏輯設計的議題
Chapter 8 元件架構設計
Chapter 9 函式設計
Chapter 10 實作一個物件
Appendix A 協定層級結構設計範式
Appendix B 實作一個與ANSI C相容的 C++介面
Appendix C 相依關係萃取器/分析套件
Appendix D 快速參考資料