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