《面向?qū)ο蟪绦蛟O(shè)計(jì)教程》從面向?qū)ο筌浖_(kāi)發(fā)的角度出發(fā),以java語(yǔ)言為輔助工具,重點(diǎn)講述面向?qū)ο蟪绦蛟O(shè)計(jì)的思想、方法、技術(shù)以及面向?qū)ο蟮木幊淘瓌t,使讀者能較全面地了解面向?qū)ο筌浖_(kāi)發(fā)的方法和實(shí)現(xiàn)過(guò)程,更好地理解和掌握面向?qū)ο蟮某绦蛟O(shè)計(jì)。
《面向?qū)ο蟪绦蛟O(shè)計(jì)教程》分為9章,從面向?qū)ο筌浖_(kāi)發(fā)概述講起,包括面向?qū)ο蟮幕靖拍睢⒔y(tǒng)一建模語(yǔ)言u(píng)ml部分內(nèi)容、程序設(shè)計(jì)模式等,以幫助讀者打下良好的面向?qū)ο蟪绦蛟O(shè)計(jì)基礎(chǔ);其次講述了java語(yǔ)言編程的基礎(chǔ)知識(shí);然后以三層程序設(shè)計(jì)模式為主線,分別講解問(wèn)題域類(lèi)、圖形用戶界面類(lèi)、數(shù)據(jù)訪問(wèn)類(lèi)的設(shè)計(jì)與實(shí)現(xiàn)以及它們之間如何交互共同完成系統(tǒng)功能,其中包括設(shè)計(jì)、實(shí)現(xiàn)面向?qū)ο蟮闹匾拍睿悍庋b、繼承、多態(tài)和類(lèi)之間的各種關(guān)系,數(shù)據(jù)庫(kù)訪問(wèn)以及異常處理等;最后講解基于web的應(yīng)用開(kāi)發(fā)。
《面向?qū)ο蟪绦蛟O(shè)計(jì)教程》的附錄介紹java應(yīng)用開(kāi)發(fā)環(huán)境的建立、myeclipse(含tomcat)的安裝和使用說(shuō)明以及常用的面向?qū)ο蟪绦蛟O(shè)計(jì)的術(shù)語(yǔ)和詞匯的解釋。
《面向?qū)ο蟪绦蛟O(shè)計(jì)教程》可作為高等院校計(jì)算機(jī)相關(guān)專(zhuān)業(yè)及軟件工程專(zhuān)業(yè)“面向?qū)ο蟪绦蛟O(shè)計(jì)”課程的教材,也可作為高校教師、軟件開(kāi)發(fā)人員和計(jì)算機(jī)科技人員的學(xué)習(xí)參考書(shū)。
隨著計(jì)算機(jī)技術(shù)、信息技術(shù)行業(yè)的不斷發(fā)展以及軟件的廣泛應(yīng)用,面向?qū)ο蟮某绦蛟O(shè)計(jì)已經(jīng)成為軟件開(kāi)發(fā)的主流程序設(shè)計(jì)方法,面向?qū)ο蟮能浖_(kāi)發(fā)也顯現(xiàn)出前所未有的優(yōu)勢(shì)。
面向?qū)ο蟪绦蛟O(shè)計(jì)是一種程序設(shè)計(jì)范例,同時(shí)也是一種程序開(kāi)發(fā)的方法。它將對(duì)象作為軟件的基本單元,將數(shù)據(jù)和方法封裝在對(duì)象中,以提高軟件的重用性、靈活性和擴(kuò)展性。面向?qū)ο蟪绦蛟O(shè)計(jì)問(wèn)世以來(lái),市面上出現(xiàn)了較多的相關(guān)書(shū)籍,但它們大多以講述面向?qū)ο蟪绦蛟O(shè)計(jì)語(yǔ)言細(xì)節(jié)為主。學(xué)生學(xué)習(xí)后可能掌握了這個(gè)面向?qū)ο蟪绦蛟O(shè)計(jì)的語(yǔ)言,會(huì)使用這個(gè)語(yǔ)言的語(yǔ)句編寫(xiě)程序,但對(duì)面向?qū)ο蟮母拍、思想、方法的?yīng)用還是不夠清楚,面對(duì)實(shí)際問(wèn)題寫(xiě)出來(lái)的軟件可維護(hù)性差。因此不能說(shuō)使用了面向?qū)ο蟮某绦蛟O(shè)計(jì)語(yǔ)言(如Java)編程,就實(shí)現(xiàn)了面向?qū)ο蟮能浖_(kāi)發(fā)。
筆者根據(jù)多年對(duì)面向?qū)ο筌浖_(kāi)發(fā)的研究與實(shí)踐以及教學(xué)經(jīng)驗(yàn)和體會(huì)編寫(xiě)成此書(shū),希望使讀者對(duì)面向?qū)ο笥幸粋(gè)較系統(tǒng)的認(rèn)知,明確面向?qū)ο蟪绦蛟O(shè)計(jì)在軟件開(kāi)發(fā)中所處的地位,程序設(shè)計(jì)的依據(jù)是什么,什么是好的程序設(shè)計(jì)模式,面向?qū)ο蟪绦蛟O(shè)計(jì)的宗旨是什么,逐步建立和掌握使用面向?qū)ο笳J(rèn)知世界的思想、方法來(lái)指導(dǎo)程序的實(shí)現(xiàn),以提高認(rèn)識(shí)問(wèn)題和解決問(wèn)題的能力。
全書(shū)共分9章,第1章面向?qū)ο筌浖_(kāi)發(fā)概述,主要講述面向?qū)ο蟮幕靖拍詈吞卣,面向(qū)ο筌浖_(kāi)發(fā)的基礎(chǔ)知識(shí)和基本過(guò)程,以及程序設(shè)計(jì)模式。第2章Java基礎(chǔ)知識(shí),主要講述Java語(yǔ)言的基礎(chǔ)知識(shí)和基本編程技術(shù)。第3章Java的類(lèi)及使用,主要講述Java提供的常用類(lèi)和包以及如何在程序中使用它們。第4~8章主要以三層程序設(shè)計(jì)模式(表示層、業(yè)務(wù)邏輯層、數(shù)據(jù)訪問(wèn)層)為主線,由淺入深地介紹各層中類(lèi)的設(shè)計(jì)和實(shí)現(xiàn),然后介紹它們之間如何交互共同完成應(yīng)用系統(tǒng)的功能。其中貫穿如何實(shí)現(xiàn)面向?qū)ο蟮闹匾拍睿悍庋b、繼承和多態(tài)。例如,第4章自定義類(lèi)及使用,主要講解如何設(shè)計(jì)一個(gè)問(wèn)題域類(lèi)(封裝),如何定義使用問(wèn)題域類(lèi),以及如何處理程序可能出現(xiàn)的異常情況,提高程序的健壯性。第5章繼承與多態(tài),主要講解類(lèi)的繼承關(guān)系如何設(shè)計(jì),繼承和多態(tài)的實(shí)現(xiàn)機(jī)制以及它們的作用,介紹抽象類(lèi)和接口的設(shè)計(jì)與實(shí)現(xiàn)。第6章類(lèi)之間的關(guān)系及實(shí)現(xiàn),主要講解如何建立類(lèi)之間的關(guān)系以及如何編程實(shí)現(xiàn)這些關(guān)系。第7章圖形用戶界面類(lèi),主要講述圖形用戶界面類(lèi)的設(shè)計(jì)和實(shí)現(xiàn),包括界面布局、事件處理機(jī)制以及如何編寫(xiě)處理事件的方法、用戶界面類(lèi)與問(wèn)題域類(lèi)如何交互等。第8章數(shù)據(jù)持久化和數(shù)據(jù)訪問(wèn)的實(shí)現(xiàn),主要講述利用數(shù)據(jù)庫(kù)實(shí)現(xiàn)數(shù)據(jù)持久,講解數(shù)據(jù)訪問(wèn)類(lèi)的設(shè)計(jì)和實(shí)現(xiàn),以及數(shù)據(jù)訪問(wèn)類(lèi)與問(wèn)題域類(lèi)如何交互等。第9章 Web應(yīng)用系統(tǒng)的開(kāi)發(fā),主要講述Web技術(shù)的基礎(chǔ)知識(shí),Web應(yīng)用程序設(shè)計(jì)模式MVC,通過(guò)案例講述Web應(yīng)用系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)。
本書(shū)實(shí)例豐富,解題思路清晰,步驟明確,解釋詳細(xì),淺顯易懂,便于讀者理解和掌握面向?qū)ο蟮某绦蛟O(shè)計(jì)的方法和技術(shù)。
在本書(shū)出版之際,感謝華中科技大學(xué)軟件學(xué)院領(lǐng)導(dǎo)和同事們的積極支持,葉倩參與了本書(shū)附錄的編寫(xiě),在此一并表示感謝。
由于時(shí)間關(guān)系,書(shū)中難免有誤和不足之處,敬請(qǐng)廣大讀者批評(píng)指正。
編者
2012年6月
第1章 面向?qū)ο筌浖_(kāi)發(fā)概述
1.1 面向?qū)ο蠹败浖_(kāi)發(fā)
1.2 面向?qū)ο蟮幕靖拍?br>1.3 uml簡(jiǎn)介
1.4 程序設(shè)計(jì)模式及風(fēng)格
1.5 本章小結(jié)
練習(xí)題
第2章 java基石出矢口識(shí)
2.1 認(rèn)識(shí)java
2.2 標(biāo)識(shí)符、關(guān)鍵字和分隔符
2.3 變量和常量
2.4 數(shù)據(jù)類(lèi)型及轉(zhuǎn)換
2.5 運(yùn)算符與表達(dá)式
2.6 控制流程語(yǔ)句
2.7 數(shù)組
2.8 本章小結(jié)
練習(xí)題
第3章 java的類(lèi)及使用
3.1 java的程序包
3.2 字符串類(lèi)string
3.3 動(dòng)態(tài)數(shù)組類(lèi)arraylist
3.4 日期類(lèi)date、calendar與dateformat
3.5 其他幾個(gè)常用的類(lèi)
3.6 什么是良好的編程習(xí)慣
3.7 本章小結(jié)
練習(xí)題
第4章 自定義類(lèi)(問(wèn)題域類(lèi))
4.1 類(lèi)的詳細(xì)設(shè)計(jì)
4.2 類(lèi)的定義
4.3 類(lèi)的使用
4.4 靜態(tài)變量和靜態(tài)方法
4.5 方法的重載
4.6 異常及異常處理
4.7 本章小結(jié)
練習(xí)題
第5章 繼承與多態(tài)
5.1 類(lèi)的繼承
5.2 抽象類(lèi)與抽象方法
5.3 多態(tài)性
5.4 接口
5.5 本章小結(jié)
練習(xí)題
第6章 類(lèi)之間的關(guān)系及實(shí)現(xiàn)
6.1 關(guān)聯(lián)關(guān)系及實(shí)現(xiàn)
6.2 聚合關(guān)系及實(shí)現(xiàn)
6.3 依賴(lài)關(guān)系及實(shí)現(xiàn)
6.4 本章小結(jié)
練習(xí)題
第7章 圖形用戶界面
7.1 java的gui類(lèi)及應(yīng)用
7.2 用戶界面事件的處理
7.3 自定義gui類(lèi)
7.4 用戶界面類(lèi)與問(wèn)題域類(lèi)的交互
7.5 用戶界面設(shè)計(jì)的原則
7.6 本章小結(jié)
練習(xí)題
第8章 數(shù)據(jù)持久化和數(shù)據(jù)訪問(wèn)的實(shí)現(xiàn)
8.1 數(shù)據(jù)持久化
8.2 文件及訪問(wèn)
8.3 數(shù)據(jù)庫(kù)及sql
8.4 數(shù)據(jù)訪問(wèn)的實(shí)現(xiàn)
8.5 較復(fù)雜的數(shù)據(jù)庫(kù)訪問(wèn)的實(shí)現(xiàn)
8.6 本章小結(jié)
練習(xí)題
第9章 web應(yīng)用系統(tǒng)的開(kāi)發(fā)
9.1 web基本知識(shí)
9.2 web應(yīng)用系統(tǒng)結(jié)構(gòu)
9.3 java servlet
9.4 jsp
9.5 web應(yīng)用系統(tǒng)的設(shè)計(jì)模式與架構(gòu)
9.6 web應(yīng)用系統(tǒng)開(kāi)發(fā)實(shí)例
9.7 本章小結(jié)
練習(xí)題 附錄ajava application開(kāi)發(fā)環(huán)境的建立
a.1 下載和安裝myeclipse
a.2 使用myeclipse編寫(xiě)java程序
a.3 導(dǎo)人java class
a.4 導(dǎo)出java項(xiàng)目
a.5 調(diào)試(debug)java程序
附錄bjava web應(yīng)用開(kāi)發(fā)環(huán)境的建立
b.1 建立web項(xiàng)目
b.2 創(chuàng)建、編輯、編譯web應(yīng)用文件
b.3 調(diào)試運(yùn)行jsp文件
b.4 項(xiàng)目的發(fā)布
附錄c常用術(shù)語(yǔ)或詞匯表
參考文獻(xiàn)