面向?qū)ο蟮乃伎歼^程(原書第二版)

-
【作 者】[美] Matt Weisfeld 著
【I S B N 】978-7-5084-2291-0
【責(zé)任編輯】吳萍
【適用讀者群】研究生
【出版時(shí)間】2004-08-01
【開 本】16開
【裝幀信息】平裝(光膜)
【版 次】第1版第1次印刷
【頁(yè) 數(shù)】
【千字?jǐn)?shù)】296
【印 張】13.25
【定 價(jià)】¥26
【叢 書】暫無(wú)分類
【備注信息】
簡(jiǎn)介
本書特色
前言
章節(jié)列表
精彩閱讀
下載資源
相關(guān)圖書
面向?qū)ο蟮某绦蛟O(shè)計(jì)(OOP)是現(xiàn)代程序設(shè)計(jì)語(yǔ)言的基本概念,本書深入探討了如何以面向?qū)ο蟮姆绞絹磉M(jìn)行思考。全書共分為15章,內(nèi)容包括:面向?qū)ο蟮幕靖拍睿绾我詫?duì)象的方式進(jìn)行思考,高級(jí)的面向?qū)ο蟾拍睿惖钠饰觯愒O(shè)計(jì),繼承和組合,框架和重用,創(chuàng)建對(duì)象,使用UML創(chuàng)建對(duì)象模型,持久對(duì)象,可移植的數(shù)據(jù),分布式對(duì)象和企業(yè),設(shè)計(jì)模式等。
本書是當(dāng)代程序員的基礎(chǔ)理論讀物,適合于大學(xué)本科計(jì)算機(jī)專業(yè)的學(xué)生以及想要學(xué)習(xí)面向?qū)ο蠹夹g(shù)的程序員。
Authorized translation from the English language edition, entitled OBJECT-ORIENTED THOUGHT PROCESS, THE, 2nd Edition, 0672326116 by WEISFELD, MATT, published by Pearson Education, Inc, publishing as Que/Sams, Copyright © 2004 by Sams Publishing.
All rights reserved. No part of this book may be reproduced or transmitted in any form or by any means, electronic or mechanical, including photocopying, recording or by any information storage retrieval system, without permission from Pearson Education, Inc.CHINESE SIMPLIFIED language edition published by CHINA WATERPOWER PRESS/BEIJING MULTI-CHANNEL ELECTRONIC INFORMATION CO.LTD, Copyright © 2004 by CHINA WATERPOWER PRESS/BEIJING MULTI-CHANNEL ELECTRONIC INFORMATION CO.LTD.
顧名思義,本書是關(guān)于面向?qū)ο螅∣O)的思考過程的。很明顯,選擇本書的主題和書名都是重要的決定,然而,這些決定并不簡(jiǎn)單。許多圖書講述面向?qū)ο蟮囊环N或者另一種層次。若干暢銷圖書講述以下主題:OO分析、OO設(shè)計(jì)、OO程序設(shè)計(jì)、設(shè)計(jì)模式、OO數(shù)據(jù)庫(kù)、統(tǒng)一建模語(yǔ)言(UML)、各種OO程序設(shè)計(jì)語(yǔ)言以及許多與OO程序設(shè)計(jì)有關(guān)的其他主題。
然而,在研究以上所有圖書時(shí),許多人忘記各個(gè)主題都是建立在下面這個(gè)單一基礎(chǔ)之上:如何以O(shè)O的方式進(jìn)行思考。遺憾的是,許多軟件開發(fā)專家常常還沒有花適當(dāng)?shù)臅r(shí)間和精力來真正了解這些圖書中的概念,就開始鉆研它們。
我認(rèn)為學(xué)習(xí)OO概念不是通過學(xué)習(xí)某種具體的開發(fā)方法或者某組工具就可以實(shí)現(xiàn)的。簡(jiǎn)而言之,以O(shè)O的方式完成工作是一種思考方法。本書完全和OO思考過程有關(guān)。
從OO思考過程中分離出方法和工具并不容易。許多人都是通過其中一種方法或者工具來了解OO概念的。許多C程序員是在直接轉(zhuǎn)移到C++時(shí)首次了解到面向?qū)ο螅诖酥吧踔翛]有間接接觸這個(gè)方法。一些軟件專業(yè)人員是通過演示文稿(包含使用UML的對(duì)象模型)而首次接觸面向?qū)ο蟮模诖酥八麄円矝]有直接接觸過OO概念。
理解學(xué)習(xí)OO概念和使用支持該范例的方法和工具之間的顯著區(qū)別是很重要的。在“What the UML Is—and Isn’t”一文中,作者Craig Larman說:“遺憾的是,軟件工程和UML圖表語(yǔ)言領(lǐng)域中,獲得閱讀和編寫UML符號(hào)的技能在某些時(shí)候似乎和獲得面向?qū)ο蠓治龊驮O(shè)計(jì)的技能同等重要。當(dāng)然,事實(shí)并非如此,后者比前者更重要。因此,我建議尋找以下培訓(xùn)和培訓(xùn)材料:其中面向?qū)ο蟮姆治龊驮O(shè)計(jì)要比UML符號(hào)或者某種電腦輔助軟件工程工具的用途更為重要。”
盡管學(xué)習(xí)一門建模語(yǔ)言是一個(gè)很重要的步驟,但是先學(xué)習(xí)OO技能更重要。在學(xué)習(xí)OO概念之前先學(xué)習(xí)UML,類似于在不了解任何電子技術(shù)時(shí)學(xué)習(xí)如何閱讀電氣圖。
程序設(shè)計(jì)語(yǔ)言存在相同的問題。前面說過,許多C程序員還沒有直接接觸到OO概念,就通過轉(zhuǎn)移到C++而進(jìn)入面向?qū)ο箢I(lǐng)域。很多情況下,聲稱自己是C++程序員的開發(fā)人員只是使用C++編輯器的C程序員。
隨著Java、C#.NET、Visual Basic .NET之類的面向?qū)ο笳Z(yǔ)言越來越流行,這個(gè)問題越來越重要。有很多Visual Basic程序員必須轉(zhuǎn)移到Visual Basic .NET中。類似地,許多可能沒有遵守嚴(yán)格的OO慣例的C++程序員,需要轉(zhuǎn)移到Java或者C#中,在使用這些語(yǔ)言時(shí),他們就別無(wú)選擇,只能以O(shè)O方式進(jìn)行思考。
早期的Visual Basic版本不是OO的。C不是OO的,而開發(fā)C++時(shí)考慮了與C的向后兼容性。因此,僅僅使用C++編輯器編寫C的句子構(gòu)造,而拋棄了C++所有的OO特性,這是非常可能的。更壞的情況下,程序員可以使用足夠的OO特性,剛好使某個(gè)程序不能使用OO進(jìn)行理解,而非OO程序員也可以這樣。
因此,在開始OO開發(fā)的時(shí)候,首先學(xué)習(xí)基本的OO概念是至關(guān)重要的。我們應(yīng)該抵擋住直接跨入某種程序設(shè)計(jì)語(yǔ)言(如C++、C#或者Java)或者某種建模語(yǔ)言(如UML)的誘惑,而花時(shí)間來學(xué)習(xí)面向?qū)ο蟮乃伎歼^程。
本書是向程序員介紹面向?qū)ο蠹夹g(shù)的概念性圖書。它的讀者對(duì)象當(dāng)然包括想要跨越到面向?qū)ο蠹夹g(shù)的結(jié)構(gòu)化程序設(shè)計(jì)人員。因此,書中包括的一些資料實(shí)際上是結(jié)構(gòu)化的技術(shù)和面向?qū)ο蠹夹g(shù)之間的橋梁。第6章就是該方法的一個(gè)好例子,該章添加了結(jié)構(gòu)化程序設(shè)計(jì)人員所熟悉的技術(shù)。重要的是理解面向?qū)ο蠛徒Y(jié)構(gòu)化實(shí)踐并非是相互排斥的。結(jié)構(gòu)化技術(shù)的使用在OO設(shè)計(jì)中隨處可見(僅僅考慮for循環(huán)或者if語(yǔ)句)。
20世紀(jì)80年代后期,在我的第一堂Smalltalk課上,教師告訴全班同學(xué),新的OO范例是一種全新的思考方式。他接著說到:“雖然我們差不多都是非常優(yōu)秀的程序員,但是其中的10%~20%永遠(yuǎn)都不能真正以O(shè)O的方式完成工作。”如果這個(gè)陳述確實(shí)是正確的,也主要是因?yàn)橐恍┤藦膩頉]有真正地花時(shí)間進(jìn)行范例轉(zhuǎn)換并學(xué)習(xí)基礎(chǔ)的OO概念。
第二版的新內(nèi)容
正如我常說的,我認(rèn)為第一版主要是一本概念性的圖書。盡管第二版仍然堅(jiān)持這個(gè)目標(biāo),但我還添加了若干應(yīng)用主題,它們非常適合于面向?qū)ο蟮母拍睢_@些應(yīng)用包括以下幾點(diǎn):
對(duì)象建模
對(duì)象持久性
XML
對(duì)象和Internet
企業(yè)
設(shè)計(jì)模式
從本質(zhì)上說,講述這些主題的章節(jié)仍然是概念性的。然而,其中一些章節(jié)包括Java代碼,它們展示了如何實(shí)現(xiàn)這些概念。
讀者對(duì)象
本書是對(duì)基本的OO概念的總體介紹。適合的讀者包括設(shè)計(jì)人員、開發(fā)人員、項(xiàng)目管理人員以及任何想要總體了解面向?qū)ο蟮娜恕i喿x這本書將為閱讀其他講述更高級(jí)的OO主題的圖書打下堅(jiān)實(shí)的基礎(chǔ)。
在這些主題更高級(jí)的書中,我最喜歡的圖書之一仍然是Stephen Gilbert和Bill McCarty所著的《Object-Oriented Design in Java》。我確實(shí)非常喜歡該書中的方法,并且在我教過的OO概念課堂上,將它用作教科書。在本書中我經(jīng)常引用到《Object-Oriented Design in Java》,并且推薦您學(xué)完本書之后學(xué)習(xí)這本書。
其他我認(rèn)為非常有用的圖書包括Scott Meyers所著的《Effective C++》、Stephen R. Schach所著的《Classical and Object-Oriented Software Engineering》、Bruce Eckel所著的《Thinking in C++》、Martin Fowler所著的《UML Distilled》以及Peter Coad和Mark Mayfield所著的《Java Design》。
在公司和學(xué)校向程序員講授介紹性的Java時(shí),我很快就發(fā)現(xiàn)其中很多程序員很容易掌握J(rèn)ava語(yǔ)法。然而,他們很難了解該語(yǔ)言的OO本質(zhì)。
本書的范圍
到目前為止很明顯,我堅(jiān)信在跨入某個(gè)程序設(shè)計(jì)語(yǔ)言或者建模語(yǔ)言之前先熟悉面向?qū)ο蟮乃伎歼^程是很有益的。本書處處都是Java代碼例子以及UML圖,然而,您不必了解Java或者UML來閱讀它們。既然我說過先學(xué)習(xí)概念,為什么這里有這么多Java代碼和UML圖呢?首先,用它們來闡述OO概念都很棒。其次,它們對(duì)OO過程都很重要,并且我們應(yīng)該對(duì)其進(jìn)行介紹性的講解。重點(diǎn)并沒有放在Java或者UML上,而是使用它們作為輔助工具,以了解基本概念。
本書中的Java例子說明循環(huán)和函數(shù)之類的概念。然而,理解這些代碼本身并不是理解這些概念的先決條件,手頭擁有講述Java語(yǔ)法的書可能會(huì)有所幫助。
強(qiáng)調(diào)一下,本書不講述Java或者UML,講述它們都需要幾卷的篇幅。我希望本書能激起您學(xué)習(xí)其他OO主題(如OO分析、面向?qū)ο蟮脑O(shè)計(jì)以及OO程序設(shè)計(jì))的愿望。
本書約定
本書使用以下排版約定:
代碼行、命令、語(yǔ)句以及其他與代碼相關(guān)的術(shù)語(yǔ)是以等寬字體(monospace)出現(xiàn)的。
代表實(shí)際應(yīng)該鍵入的內(nèi)容的占位符是以斜體等寬字體(italic monospace)出現(xiàn)的。應(yīng)該鍵入的文本是以粗體等寬字體(bold monospace)出現(xiàn)的。
貫穿本書,有一些特殊的說明性內(nèi)容,例如:
注意
注意顯示關(guān)于該討論的有趣信息,它是一點(diǎn)見解或者對(duì)新技術(shù)的啟示。
提示
提示向您提供建議或者展示完成任務(wù)的更容易的方式。
警告
警告提醒您某個(gè)可能的問題并向您提供如何避免該問題的建議。
本書中使用的源代碼
您可以從http://www.samspublishing.com下載本書中討論到的所有源代碼和例子。在“search”窗口,簡(jiǎn)單地鍵入本書的ISBN(0672326116),按下Enter健,然后就出現(xiàn)帶有指向源代碼鏈接的頁(yè)面。
前言
致謝
第1章 面向?qū)ο蟮母拍詈?jiǎn)介 1
1.1 面向過程程序設(shè)計(jì)和OO程序設(shè)計(jì) 1
1.2 從面向過程開發(fā)轉(zhuǎn)向面向?qū)ο箝_發(fā) 4
1.2.1 面向過程的程序設(shè)計(jì) 4
1.2.2 OO程序設(shè)計(jì) 4
1.3 對(duì)象的確切定義 5
1.3.1 對(duì)象數(shù)據(jù) 5
1.3.2 對(duì)象行為 5
1.4 類的確切定義 8
1.4.1 類是對(duì)象模板 8
1.4.2 屬性 9
1.4.3 方法 9
1.4.4 消息 10
1.5 使用UML構(gòu)建類圖 10
1.6 封裝 10
1.6.1 接口 11
1.6.2 實(shí)現(xiàn) 11
1.6.3 接口/實(shí)現(xiàn)范例的現(xiàn)實(shí)例子 11
1.6.4 接口/實(shí)現(xiàn)范例的Java例子 12
1.7 繼承 13
1.7.1 超類和子類 14
1.7.2 抽象 14
1.7.3 Is-a關(guān)系 15
1.8 多態(tài) 16
1.9 組合 18
1.10 小結(jié) 18
第2章 如何以對(duì)象的方式進(jìn)行思考 20
2.1 了解接口和實(shí)現(xiàn)的區(qū)別 20
2.1.1 接口 22
2.1.2 實(shí)現(xiàn) 22
2.1.3 接口/實(shí)現(xiàn)的例子 22
2.2 在設(shè)計(jì)接口時(shí)使用抽象的思想 26
2.3 盡可能向用戶提供最少的接口 27
2.3.1 確定用戶 28
2.3.2 對(duì)象行為 28
2.3.3 環(huán)境限制 28
2.3.4 確定公共接口 29
2.3.5 確定實(shí)現(xiàn) 29
2.4 小結(jié) 30
2.5 參考文獻(xiàn) 30
第3章 高級(jí)的面向?qū)ο蟾拍?31
3.1 構(gòu)造函數(shù) 31
3.1.1 何時(shí)調(diào)用構(gòu)造函數(shù) 31
3.1.2 構(gòu)造函數(shù)的內(nèi)部機(jī)理 31
3.1.3 默認(rèn)構(gòu)造函數(shù) 32
3.1.4 使用多個(gè)構(gòu)造函數(shù) 32
3.1.5 設(shè)計(jì)構(gòu)造函數(shù) 36
3.2 錯(cuò)誤處理 36
3.2.1 忽略問題 36
3.2.2 檢測(cè)問題并異常終止應(yīng)用程序 36
3.2.3 檢測(cè)問題并且嘗試解決問題 37
3.2.4 拋出異常 37
3.3 作用域的概念 39
3.3.1 局部屬性 39
3.3.2 對(duì)象屬性 40
3.3.3 類的屬性 42
3.4 運(yùn)算符重載 43
3.5 多重繼承 43
3.6 對(duì)象操作 44
3.7 小結(jié) 45
3.8 參考文獻(xiàn) 45
第4章 類的剖析 46
4.1 類的名稱 46
4.2 注釋 47
4.3 屬性 48
4.4 構(gòu)造函數(shù) 49
4.5 訪問函數(shù) 50
4.6 公共接口方法 52
4.7 私有實(shí)現(xiàn)方法 53
4.8 小結(jié) 53
4.9 參考文獻(xiàn) 53
第5章 類設(shè)計(jì)指導(dǎo) 54
5.1 標(biāo)識(shí)公共接口 54
5.2 設(shè)計(jì)健壯的構(gòu)造函數(shù)(或析構(gòu)函數(shù)) 56
5.3 在類中設(shè)計(jì)錯(cuò)誤處理 57
5.3.1 用文檔說明類以及使用注釋 57
5.3.2 帶著協(xié)作的意向創(chuàng)建對(duì)象 57
5.4 在設(shè)計(jì)時(shí)考慮到重用 58
5.5 設(shè)計(jì)時(shí)考慮擴(kuò)展 58
5.5.1 使名稱形象化 59
5.5.2 提取不能移植的代碼 59
5.5.3 提供復(fù)制和比較對(duì)象的方法 59
5.5.4 盡可能使作用域最小 60
5.5.5 類應(yīng)該對(duì)自己負(fù)責(zé) 60
5.6 在設(shè)計(jì)時(shí)考慮可維護(hù)性 61
5.6.1 使用迭代 62
5.6.2 測(cè)試接口 62
5.7 使用對(duì)象持久性 64
5.8 小結(jié) 65
5.9 參考文獻(xiàn) 65
第6章 使用對(duì)象進(jìn)行設(shè)計(jì) 66
6.1 設(shè)計(jì)指導(dǎo) 66
6.1.1 進(jìn)行正確的分析 69
6.1.2 制作工作陳述 69
6.1.3 收集需求 69
6.1.4 開發(fā)用戶接口原型 70
6.1.5 確定類 70
6.1.6 確定每一個(gè)類的職責(zé) 70
6.1.7 確定類和類之間如何相互作用 70
6.1.8 創(chuàng)建類模型來描述系統(tǒng) 70
6.2 案例分析:Blackjack(撲克牌中的二十一點(diǎn))例子 71
6.2.1 使用CRC卡片 72
6.2.2 確定Blackjack的類 73
6.2.3 確定類的職責(zé) 76
6.2.4 UML用例:確定協(xié)作 80
6.2.5 制作CRC卡片的第一步 83
6.2.6 UML類圖:對(duì)象模型 85
6.2.7 為用戶接口設(shè)計(jì)原型 86
6.3 小結(jié) 86
6.4 參考文獻(xiàn) 86
第7章 掌握繼承和組合 87
7.1 繼承 88
7.1.1 泛化和特化 90
7.1.2 設(shè)計(jì)決策 90
7.2 組合 92
7.3 為什么封裝對(duì)OO很重要 94
7.3.1 繼承是如何削弱封裝的 95
7.3.2 一個(gè)詳細(xì)的多態(tài)例子 96
7.3.3 對(duì)象的職責(zé) 97
7.4 小結(jié) 100
7.5 參考文獻(xiàn) 100
第8章 框架和重用:利用接口和抽象類進(jìn)行設(shè)計(jì) 101
8.1 代碼的重用 101
8.2 什么是框架 101
8.3 什么是契約 103
8.3.1 抽象類 104
8.3.2 接口 105
8.3.3 嘗試一起使用它們 107
8.3.4 編譯器證據(jù) 109
8.3.5 制定契約 109
8.3.6 系統(tǒng)插入點(diǎn) 111
8.4 一個(gè)電子商務(wù)的例子 111
8.4.1 電子商務(wù)的問題 111
8.4.2 非重用方法 112
8.4.3 電子商務(wù)解決方案 114
8.4.4 UML對(duì)象模型 114
8.5 小結(jié) 117
8.6 參考文獻(xiàn) 117
第9章 創(chuàng)建對(duì)象 118
9.1 組合關(guān)系 119
9.2 協(xié)調(diào)地創(chuàng)建 119
9.3 組合的類型 121
9.3.1 聚合 121
9.3.2 關(guān)聯(lián) 122
9.3.3 同時(shí)使用聚合和關(guān)聯(lián) 123
9.4 避免依賴性 123
9.5 基數(shù)(Cardinality) 124
9.5.1 多個(gè)對(duì)象的關(guān)聯(lián) 126
9.5.2 可選的關(guān)聯(lián) 127
9.6 同時(shí)使用這些關(guān)系:一個(gè)例子 127
9.7 小結(jié) 128
9.8 參考文獻(xiàn) 128
第10章 使用UML創(chuàng)建對(duì)象模型 129
10.1 什么是UML 129
10.2 類圖的結(jié)構(gòu) 130
10.3 屬性和方法 131
10.3.1 屬性 131
10.3.2 方法 131
10.4 訪問標(biāo)號(hào) 132
10.5 繼承 132
10.6 接口 134
10.7 組合 134
10.7.1 聚合 134
10.7.2 關(guān)聯(lián) 135
10.8 基數(shù) 137
10.9 小結(jié) 138
10.10 參考文獻(xiàn) 138
第11章 持久對(duì)象:串行化和關(guān)系數(shù)據(jù)庫(kù) 139
11.1 持久對(duì)象的基礎(chǔ) 139
11.2 把對(duì)象保存到“扁平”文件中 140
11.2.1 串行化某個(gè)文件 141
11.2.2 回顧實(shí)現(xiàn)和接口 142
11.3 寫入關(guān)系數(shù)據(jù)庫(kù)中 143
11.4 加載驅(qū)動(dòng)程序 146
11.4.1 建立連接 147
11.4.2 SQL語(yǔ)句 147
11.5 小結(jié) 150
11.6 參考文獻(xiàn) 150
第12章 對(duì)象和XML:可移植的數(shù)據(jù) 151
12.1 可移植代碼 151
12.2 可擴(kuò)展標(biāo)記語(yǔ)言(XML) 152
12.3 XML與HTML 153
12.4 XML和面向?qū)ο笳Z(yǔ)言 153
12.5 在兩個(gè)公司之間共享數(shù)據(jù) 154
12.6 用文檔類型定義檢驗(yàn)文檔 155
12.7 把DTD集成到XML文檔中 156
12.8 使用層疊式樣式表 161
12.9 小結(jié) 163
12.10 參考文獻(xiàn) 163
第13章 對(duì)象和Internet 164
13.1 基于對(duì)象的腳本編寫語(yǔ)言 164
13.2 一個(gè)JavaScript驗(yàn)證的例子 166
13.3 Java Applets是對(duì)象 170
13.4 JavaBeans是對(duì)象 172
13.5 小結(jié) 174
13.6 參考文獻(xiàn) 174
第14章 分布式對(duì)象和企業(yè) 175
14.1 公共對(duì)象請(qǐng)求代理體系結(jié)構(gòu)(CORBA) 176
14.2 Java的遠(yuǎn)程方法調(diào)用(RMI) 179
14.3 Java的Enterprise JavaBeans 180
14.4 企業(yè)JavaBeans的類型 182
14.4.1 會(huì)話beans 183
14.4.2 實(shí)體beans 183
14.5 小結(jié) 184
14.6 參考文獻(xiàn) 184
第15章 設(shè)計(jì)模式 185
15.1 為什么需要設(shè)計(jì)模式 185
15.2 Smalltalk的模型/視圖/控制器 186
15.3 設(shè)計(jì)模式的類型 188
15.3.1 創(chuàng)建模式 188
15.3.2 結(jié)構(gòu)模式 191
15.3.3 行為模式 194
15.4 反模式 195
15.5 小結(jié) 196
15.6 參考文獻(xiàn) 196
- 面向?qū)ο蟪绦蛟O(shè)計(jì) [主編 張勇 張平華 趙小龍]
- Java面向?qū)ο蟪绦蛟O(shè)計(jì)(微課版) [主編 謝先偉 王海洋]
- Java面向?qū)ο蟪绦蛟O(shè)計(jì) [主編 張立敏 鄒海濤]
- 火球-UML大戰(zhàn)需求分析(第二版) [張傳波 著]
- UML系統(tǒng)建模及系統(tǒng)分析與設(shè)計(jì)(第二版) [王欣 張毅 編著]
- Java面向?qū)ο蟪绦蛟O(shè)計(jì) [主編 肖奎 姚競(jìng)]
- Java面向?qū)ο蟪绦蛟O(shè)計(jì) [主編 陳占偉]
- UML系統(tǒng)建模及系統(tǒng)分析與設(shè)計(jì) [王欣 張毅 編著]
- C++面向?qū)ο蟪绦蛟O(shè)計(jì)習(xí)題解答及上機(jī)指導(dǎo) [李素若 杜華兵]
- C++面向?qū)ο蟪绦蛟O(shè)計(jì) [李素若 杜華兵]
- 面向?qū)ο蟪绦蛟O(shè)計(jì)(C#) [李法平 芮素娟]
- 大象——Thinking in UML(第二版) [譚云杰 著]
- Java面向?qū)ο蟪绦蛟O(shè)計(jì)實(shí)訓(xùn)與考試指導(dǎo)(第二版) [主編 趙生慧]
- UML面向?qū)ο蠼;A(chǔ) [徐鋒 陳暄 等編著]
- C++面向?qū)ο蟪绦蛟O(shè)計(jì)(第二版) [曹靜 主編]
- Java面向?qū)ο蟪绦蛟O(shè)計(jì)(第二版) [趙生慧 主 編 ]
- C++面向?qū)ο蟪绦蛟O(shè)計(jì) [栗青生 王愛民]
- C++面向?qū)ο蟪绦蛟O(shè)計(jì) [曹靜 主編]
- 生活經(jīng)管more>>
- 輸水管線工程風(fēng)險(xiǎn)管理
- 不息的水脈—大運(yùn)河講談錄
- 三峽梯級(jí)電站水資源決策支持系統(tǒng)研究與
- 海南黎族民俗文化鑒賞
- C++案例項(xiàng)目精講
- 信息系統(tǒng)項(xiàng)目管理師章節(jié)習(xí)題與考點(diǎn)特訓(xùn)
- 武術(shù)基礎(chǔ)教程
- 計(jì)算機(jī)網(wǎng)絡(luò)實(shí)訓(xùn)教程
- HCIA-Datacom認(rèn)證題庫(kù)分類精講
- SwiftUI完全開發(fā)
- 網(wǎng)絡(luò)規(guī)劃設(shè)計(jì)師備考一本通
- 用英語(yǔ)介紹中國(guó)古今科技
- 農(nóng)村新型社區(qū)移民的社會(huì)適應(yīng)性問題研究
- 用英語(yǔ)介紹中國(guó)美食文化
- 用英語(yǔ)介紹中國(guó)名人
- 第四代系統(tǒng)論:全息系統(tǒng)論—全息系統(tǒng)的