《Java設(shè)計(jì)模式》教學(xué)大綱
課程名稱:
| Java設(shè)計(jì)模式
|
|
|
課程編號(hào):
| 436305
|
|
|
適用專業(yè):
| 軟件工程
|
|
|
課程類別:
| 專業(yè)限選課
|
|
|
課程學(xué)分:
| 3
|
|
|
總學(xué)時(shí):
| 54
|
|
|
其中:理論學(xué)時(shí)
| 28
|
|
|
實(shí)驗(yàn)學(xué)時(shí)
| 26
|
|
|
先修課程:
| 軟件工程,Java程序設(shè)計(jì) ,面向?qū)ο蟪绦蛟O(shè)計(jì)
|
一、課程的性質(zhì)、目的與任務(wù)
設(shè)計(jì)模式是從許多優(yōu)秀的軟件系統(tǒng)中總結(jié)出的成功的、可復(fù)用的設(shè)計(jì)方案,已經(jīng)被成功應(yīng)用于許多系統(tǒng)的設(shè)計(jì)中。目前,面向?qū)ο蟪绦蛟O(shè)計(jì)已經(jīng)成為軟件設(shè)計(jì)開發(fā)領(lǐng)域的主流,而學(xué)習(xí)使用設(shè)計(jì)模式無疑非常有助于軟件開發(fā)人員使用面向?qū)ο笳Z言開發(fā)出易維護(hù)、易擴(kuò)展、易復(fù)用的代碼。Java設(shè)計(jì)模式重點(diǎn)探討在Java程序設(shè)計(jì)中怎樣使用著名的“23個(gè)設(shè)計(jì)模式”。
通過本課程的學(xué)習(xí),要求學(xué)生達(dá)到:
讓學(xué)生不僅學(xué)習(xí)怎樣在軟件設(shè)計(jì)過程中使用好設(shè)計(jì)模式,更重要的是讓學(xué)生通過學(xué)習(xí)深刻地理解面向?qū)ο蟮脑O(shè)計(jì)思想,以便更好地使用面向?qū)ο笳Z言解決設(shè)計(jì)中的諸多問題。
二、課程教學(xué)基本內(nèi)容與要求
(一) 設(shè)計(jì)模式概述
1、設(shè)計(jì)模式簡(jiǎn)介
2、軟件重用技術(shù)的基本概念和實(shí)現(xiàn)原理
3、安全解析
要求:了解設(shè)計(jì)模式的概念、設(shè)計(jì)模式的起源、設(shè)計(jì)模式與框架之間的區(qū)別,理解軟件重用技術(shù)的基本概念和實(shí)現(xiàn)原理。
(二) 面向?qū)ο蠹夹g(shù)概述
1、面向?qū)ο蠡驹?/p>
2、UML簡(jiǎn)介
3、Java環(huán)境介紹
要求:重點(diǎn)掌握面向?qū)ο蟮能浖_發(fā)技術(shù)和基本知識(shí);理解面向?qū)ο蠼9ぞ遀ML,并且能夠準(zhǔn)確使用幾種不同的java軟件開發(fā)環(huán)境。
(三) 基本設(shè)計(jì)模式
1、命令模式
2、觀察者模式
3、裝飾模式
4、策略模式
5、適配器模式
6、責(zé)任鏈模式
7、外觀模式
要求:掌握以上七種基本模式的概念、方法及基本原理。理論聯(lián)系實(shí)際,重點(diǎn)掌握針對(duì)不同的案例應(yīng)選取準(zhǔn)確的設(shè)計(jì)的方法。
(四) 常用設(shè)計(jì)模式
1、迭代器模式
2、中介者模式
3、工廠方法模式
4、抽象工廠模式
5、生成器模式
6、原型模式
7、單件模式
8、組合模式
9、橋接模式
10、狀態(tài)模式
要求:掌握以上十種常用設(shè)計(jì)模式的概念、方法及基本原理。理論聯(lián)系實(shí)際,重點(diǎn)掌握針對(duì)不同的案例應(yīng)選取準(zhǔn)確的設(shè)計(jì)模式的方法。
(五) 高級(jí)設(shè)計(jì)模式
1、模板方法模式
2、代理模式
3、享元模式
4、訪問者模式
5、備忘錄模式
6、解釋器模式
7、模式分類
要求:掌握以上六種高級(jí)設(shè)計(jì)模式的概念、方法及基本原理。理論聯(lián)系實(shí)際,重點(diǎn)掌握針對(duì)不同的案例應(yīng)選取準(zhǔn)確的設(shè)計(jì)模式的方法。
(六) 綜合應(yīng)用
1、案例背景
2、案例分析
3、設(shè)計(jì)模式選擇
4、應(yīng)用實(shí)現(xiàn)
要求:重點(diǎn)是通過綜合實(shí)例將設(shè)計(jì)技術(shù)串聯(lián)起來,理解java設(shè)計(jì)模式的精髓和整個(gè)流程。
三、課程各章節(jié)學(xué)時(shí)分配
序號(hào)
| 內(nèi)容
| 理論學(xué)時(shí)
| 實(shí)驗(yàn)學(xué)時(shí)
|
1
| 設(shè)計(jì)模式概述
| 3
|
|
2
| 面向?qū)ο蠹夹g(shù)概述
| 1
|
|
3
| 基本設(shè)計(jì)模式
| 8
| 10
|
4
| 常用設(shè)計(jì)模式
| 8
| 10
|
5
| 高級(jí)設(shè)計(jì)模式
| 4
| 4
|
6
| 綜合應(yīng)用
| 4
| 2
|
|
|
|
|
合計(jì)
| 28
| 26
|
四、本課程課外學(xué)習(xí)與修學(xué)指導(dǎo)
課堂配有大題的實(shí)際應(yīng)用例子,學(xué)生采用邊學(xué)邊練的方式學(xué)習(xí),上機(jī)實(shí)驗(yàn)隨理論課的進(jìn)度穿插進(jìn)行,課時(shí)分配可根據(jù)學(xué)生對(duì)課程的掌握情況,靈活安排。本著由淺入深、由簡(jiǎn)單到復(fù)雜的原則,強(qiáng)調(diào)理論、實(shí)驗(yàn)輔助,通過實(shí)例的學(xué)習(xí)演練,使學(xué)生全面認(rèn)識(shí)軟件設(shè)計(jì)模式的應(yīng)用技巧。
該課程理論性較強(qiáng),需要多參考相關(guān)書籍,并多上機(jī)練習(xí),充分理解各種設(shè)計(jì)模式。
五、本課程考核方式及成績(jī)?cè)u(píng)定標(biāo)準(zhǔn)
考核方式:考試
成績(jī)?cè)u(píng)定方法:本課程的考核是平時(shí)成績(jī)和期終考試成績(jī)相結(jié)合,理論成績(jī)與實(shí)驗(yàn)成績(jī)相結(jié)合。最后成績(jī)=上課出勤、作業(yè)*10%+實(shí)驗(yàn)*20%+期末考試成績(jī)*70%。
六、教材及參考書
教材: 耿祥義編著《Java設(shè)計(jì)模式》,清華大學(xué)出版社,2009
主要參考書:
[1]Steven等著,龔波等譯《Java設(shè)計(jì)模式》,人民郵電出版社,2007
[2]Erich等著,李英軍等譯《設(shè)計(jì)模式——可復(fù)用面向?qū)ο筌浖幕A(chǔ)》(雙語版),機(jī)械工業(yè)出版社,2009
[3]Doug Lea著,趙涌等譯《Java并發(fā)編程——設(shè)計(jì)原則與模式》(第二版),中國(guó)電力出版社,2004
[4]閻宏編著,《Java與模式》,電子工業(yè)出版社,2004
大綱撰寫人: 羅如為
大綱審閱人: 羅如為
教學(xué)副主任: 易葉青
編寫日期:2012.6