出版時(shí)間:2004-8 出版社:人民郵電出版社 作者:里爾(Riel.A.J.) 頁數(shù):358 字?jǐn)?shù):527000 譯者:鮑志云
Tag標(biāo)簽:無
內(nèi)容概要
本書提供了改進(jìn)面向?qū)ο笤O(shè)計(jì)的真知灼見。
全書共11章,總結(jié)出了60多條面向?qū)ο笤O(shè)計(jì)(OOD)的指導(dǎo)原則。這些經(jīng)驗(yàn)原則涵蓋了從類到對(duì)象(主要強(qiáng)調(diào)它們之間的關(guān)系,包括關(guān)聯(lián)、使用、包含、單繼承、多繼承)到面向?qū)ο笪锢碓O(shè)計(jì)的重要主題。本書將幫助你理解經(jīng)驗(yàn)原則和“設(shè)計(jì)模式”這一流行概念之間的相互作用。你可以借助經(jīng)驗(yàn)原則發(fā)現(xiàn)設(shè)計(jì)中所存在的某一方面的問題,而設(shè)計(jì)模式則提供了解決方案。
本書對(duì)各個(gè)層次的開發(fā)者都有價(jià)值。新手能借助本書走上通向面向?qū)ο缶幊痰目燔嚨?;想提升自己的面向?qū)ο箝_發(fā)水準(zhǔn)的老手則會(huì)受益于本書深具洞察力的分析。《OOD啟思錄》提供了讓你成為更好的軟件開發(fā)者的途徑。
作者簡(jiǎn)介
Arthur J.Riel從事C和C++編程工作已有超過12年的經(jīng)驗(yàn),目前,他每年在學(xué)術(shù)界和產(chǎn)業(yè)界講授40多次課程。他參與了許多系統(tǒng)的開發(fā),曾就職于AT&T貝爾實(shí)驗(yàn)室、Draper實(shí)驗(yàn)室、IBN、東北大學(xué)。他還在Journal of Object -Oriented Progrting,The C++Insider、The C/C++Gazette等刊物上發(fā)表了眾多文章。
譯者簡(jiǎn)介:鮑志云,已翻譯出版了《對(duì)象揭秘:Java、effiel和C++》和《解析MDA》3S本譯著,曾以“紫云英”為筆名在《程序員》、《程序春秋》等刊物上發(fā)表多篇技術(shù)文章,并為《DDJ軟件研發(fā)》翻譯技術(shù)文章。他在學(xué)生時(shí)代曾參加ACM/ICPC亞洲區(qū)比賽并獲佳績(jī),曾參加“挑戰(zhàn)杯”學(xué)術(shù)科技作品競(jìng)賽并獲全國(guó)二等獎(jiǎng)。
書籍目錄
第1章 面向?qū)ο缶幊痰膭?dòng)因 1.1 革命家、改革家與面向?qū)ο蠓缎? 1.2 Frederick Brooks觀點(diǎn):非根本復(fù)雜性與根本復(fù)雜性 1.3 瀑布模型 1.4 迭代模型 1.5 構(gòu)造原型:相同語言與不同語言 1.6 軟件復(fù)用性 1.7 優(yōu)秀設(shè)計(jì)者階層 術(shù)語表 第2章 類和對(duì)象:面向?qū)ο蠓缎偷慕ú? 2.1 類和對(duì)象導(dǎo)引 2.2 消息和方法 2.3 類耦合與內(nèi)聚 2.4 動(dòng)態(tài)語義 2.5 抽象類 2.6 角色與類 術(shù)語表 經(jīng)驗(yàn)原則小結(jié) 第3章 應(yīng)用程序布局:面向動(dòng)作與面向?qū)ο? 3.1 應(yīng)用程序的不同布局 3.2 面向動(dòng)作范型何時(shí)適用 3.3 問題:全能類(行為表現(xiàn)) 3.4 系統(tǒng)功能不良分布的另一個(gè)例子 3.5 問題:全能類(數(shù)據(jù)表現(xiàn)) 3.6 問題:泛濫成災(zāi)的類 3.7 代理類的角色 3.8 用途考察:?jiǎn)为?dú)實(shí)體和控制類 術(shù)語表 經(jīng)驗(yàn)原則小結(jié) 第4章 類和對(duì)象的關(guān)系 4.1 類和對(duì)象關(guān)系導(dǎo)引 4.2 使用關(guān)系 4.3 實(shí)現(xiàn)使用關(guān)的6種不同方法 4.4 使用關(guān)系的經(jīng)驗(yàn)原則 4.5 精確調(diào)整兩個(gè)類之間的協(xié)作量 4.6 包含關(guān)系 4.7 類之間的語義約束 4.8 屬性與被包含的類 4.9 包含關(guān)系的更多經(jīng)驗(yàn)原則 4.10 使用和包含的關(guān)系 4.11 值包含與引用包含 術(shù)語表 經(jīng)驗(yàn)原則小結(jié) 第5章 繼承關(guān)系 5.1 繼承關(guān)系導(dǎo)引 5.2 在派生類中覆寫基類方法 5.3 在基類中使用保護(hù)區(qū)域 5.4 繼承層次結(jié)構(gòu)的寬度和深度 5.5 C++的劃分:私有、保護(hù)和公有繼承 5.6 一個(gè)現(xiàn)實(shí)世界中的特化例子 5.7 經(jīng)驗(yàn)原則:尋求設(shè)計(jì)復(fù)雜性和靈活性的平衡 5.8 一個(gè)現(xiàn)實(shí)世界中的泛化例子 5.9 多態(tài)機(jī)制 5.10 把繼承作為復(fù)用機(jī)制的一個(gè)問題 5.11 用繼承實(shí)現(xiàn)中斷驅(qū)動(dòng)架構(gòu)的方案 5.12 繼承層次結(jié)構(gòu)與屬性 5.13 混淆:繼承的需求與對(duì)象動(dòng)態(tài)語義 5.14 用繼承來隱藏類的實(shí)現(xiàn) 5.15 把對(duì)象誤當(dāng)作繼承類 5.16 把需概括對(duì)象誤作需在運(yùn)行時(shí)創(chuàng)建類 5.17 在派生類中屏蔽基類方法的嘗試 5.18 對(duì)象可選部分的實(shí)現(xiàn) 5.19 沒有最優(yōu)解的問題 5.20 復(fù)用組件與復(fù)用框架 術(shù)語表 經(jīng)驗(yàn)原則小結(jié) 第6章 多重繼承 6.1 多重繼承導(dǎo)引 6.2 多重繼承的常見誤用 6.3 多重繼承的正當(dāng)使用 6.4 不支持多重繼承的語言中的非根本復(fù)雜性 6.5 用到多重繼承的框架 6.6 運(yùn)用多重繼承:設(shè)計(jì)mixin 6.7 DAG多重繼承 6.8 可選包含的不良實(shí)現(xiàn)造成的不當(dāng)DAG多重繼承 術(shù)語表 經(jīng)驗(yàn)原則小結(jié) 第7章 關(guān)聯(lián)關(guān)系 7.1 關(guān)聯(lián)導(dǎo)引 7.2 用引用屬性實(shí)現(xiàn)關(guān)聯(lián) 7.3 用第三方類實(shí)現(xiàn)關(guān)聯(lián) 7.4 在包含關(guān)系和關(guān)聯(lián)關(guān)系間取舍 術(shù)語表 經(jīng)驗(yàn)原則小結(jié) 第8章 與特定類相關(guān)的數(shù)據(jù)及行為 8.1 類相關(guān)與對(duì)象相關(guān)數(shù)據(jù)及行為導(dǎo)引 8.2 用元類來表示類相關(guān)數(shù)據(jù)及行為 8.3 用語言層面關(guān)鍵字來實(shí)現(xiàn)類相關(guān)與對(duì)象相關(guān)數(shù)據(jù)及行為 8.4 C++中的元類 8.5 有用的抽象類,但不是基類 術(shù)語表 經(jīng)驗(yàn)原則小結(jié) 第9章 面向?qū)ο笪锢碓O(shè)計(jì) 9.1 面向?qū)ο筮壿嬙O(shè)計(jì)和物理設(shè)計(jì)的角色 9.2 創(chuàng)建面向?qū)ο蟀b器 9.3 面向?qū)ο笙到y(tǒng)中的持久化 9.4 面向?qū)ο髴?yīng)用程序中的內(nèi)存管理問題 9.5 可復(fù)用組件的最小公有接口 9.6 實(shí)現(xiàn)安全的淺拷貝 9.7 并行面向?qū)ο缶幊? 9.8 用非面向?qū)ο笳Z言實(shí)現(xiàn)面向?qū)ο笤O(shè)計(jì) 術(shù)語表 經(jīng)驗(yàn)原則小結(jié) 第10章 經(jīng)驗(yàn)原則和模式的關(guān)系 10.1 經(jīng)驗(yàn)原則與模式 10.2 設(shè)計(jì)變換模型的傳遞性 10.3 設(shè)計(jì)變換模式的自反性 10.4 其他設(shè)計(jì)變換模式 10.5 未來研究 第11章 在面向?qū)ο笤O(shè)計(jì)中使用經(jīng)驗(yàn)原則 11.1 ATM問題 11.2 選擇方法學(xué) 11.3 產(chǎn)生ATM對(duì)象模型的第一次嘗試 11.4 給我們的對(duì)象模型增加行為 11.5 非根本復(fù)雜性帶來的顯式情況分析 11.6 在不同地址對(duì)象間傳遞消息 11.7 交易處理 11.8 回到ATM的領(lǐng)域 11.9 其他雜類問題 11.10 小結(jié) 附錄A 經(jīng)驗(yàn)原則總結(jié) 附錄B C++中的內(nèi)存泄漏 附錄C C++實(shí)例精選 本書中引用到的其他圖書 參考文獻(xiàn)
圖書封面
圖書標(biāo)簽Tags
無
評(píng)論、評(píng)分、閱讀與下載