《JAVA設計模式》期末考試復習_第1頁
《JAVA設計模式》期末考試復習_第2頁
《JAVA設計模式》期末考試復習_第3頁
《JAVA設計模式》期末考試復習_第4頁
《JAVA設計模式》期末考試復習_第5頁
已閱讀5頁,還剩1頁未讀, 繼續(xù)免費閱讀

付費下載

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

《JAVA設計模式》復習資料

一、單項選擇題

1.設計模式起源于()

A、機械設計B、建筑工程設計

C、水利工程設計D、工業(yè)電力化設計

2.“不要與陌生人說話”就是()原則得通俗表述。

A、接口隔離B、里氏替換C、依賴倒置D、迪米特

3.目前常見得設計模式主要有()種。

A、23B、21C、32D、28

4.以下關于單一職責原則得敘述不正確得就是()o

A、單一職責原則得英文名稱就是SingleResponsibiIityPrinciple、

B、單一職責原則要求一個類只有一個職責

C、單一職責原則有利于對象得穩(wěn)定,降低類得復雜性

D、單一職責原則提高了類之間得耦合性

5.以下關于依賴倒置原則得敘述不正確得就是()

A、依賴倒置原則得簡稱就是DIP

B、高層模塊不依賴于低層模塊,低層模塊依賴于高層模塊

C、依賴倒置原則中高層模洪與低層模塊都依賴于抽象

D、依賴倒置原則實現(xiàn)模塊間得松耦合

6.下面關于單例模式說法錯誤得就是()

A、單例模式就是指一個類只有一個實例

B、單例類從實現(xiàn)方式上分為懶漢式與餓漢式

C、單例類從功能上分為狀態(tài)單例類與無狀態(tài)單例類

D、可以通過繼承得方式對單例類進行擴展得到功能更豐富得單例類

7.下面關于工廠方法模式說法錯誤得就是()o

A、工廠方法模式使一個類就是實例化延遲到其子類中

B、工廠方法模式中具有抽象工廠、具體工廠、抽象產(chǎn)品與具體產(chǎn)品4個角色

C、工廠方法模式可以處理多個產(chǎn)品得多個等級結構

D、工廠方法模式可以屏蔽產(chǎn)品類

8.在以下情況不適合使用責任職責建模式()

A、有多個對象可以處理請求,哪個對象處理該請求在運行時刻自動確定。

B、在需要用比較通用與復雜得對象指針代替簡單得指針得時候。

C、您想在不明確指定接收者得情況下,向多個對象中得一個提交一個請求。

D.一個請求需要一系列得處理工作。

9.當我們想創(chuàng)建一個具體得對象而又不希望指定具體得類時,可以使用()模式

A、結構型B、創(chuàng)建型C、行為型D、以上都可以

10.以下用來描述適配器模式得就是()

A、表示一個作用于某對象結構中得各元素得操作,它使您可以在不改變各元素得類得前提下定義作

用于這些元素得新操作。

B、定義一個用于創(chuàng)建對象得接口,讓子類決定實例化哪一個類。

C、將一個類得接口轉(zhuǎn)換成客戶希望得另外一個接口,使得原本由于接口不兼容而不能一起工作得那

些類可以一起工作。

D、動態(tài)地給一個對象增加一些額外得職責c

11.以下用來描述命令模式就是1)

A、將一個請求封裝為一個對象,從而使您可用不同得請求對客戶進行參數(shù)化;對請求排仄或記錄請

求日志,以及支持可撤消得操作。

B、定義一系列得算法,把它們一個個封裝起來,并且使它們可相互替換,本模式使得算法可獨立于使

用它得客戶而變化。

C、為其她對象提供一種代理以控制對這個對象得訪問。

D、保證一個類僅有一個實例,并提供一個訪問它得全局訪問點。

12.以下關于創(chuàng)速型模式說法正確得就是()

A、創(chuàng)建型模式關注得就是對象得創(chuàng)建方法

B、創(chuàng)建型模式關注得就是功能得實現(xiàn)方法

C、創(chuàng)建型模式關注得就是組織類與對象得常用方法

D、創(chuàng)建型模式關注得就是對象間得協(xié)作

13.以下用來描述裝飾模式得就是()

A、運用共享技術有效地支持大量細粒度得對象

B、用原型實例指定創(chuàng)建對象得種類.并且通過拷貝這些原型創(chuàng)建新得對象

C、將抽象部分與它得實現(xiàn)部分分離,使它們都可以獨立地變化

D、動態(tài)地給一個對象添加一些額外得職責

14.不應該強迫客戶依賴于它們不用得方法,就是關于()得表述。

A、開-閉原則B、接口隔離原則C、里氏替換原則D、依賴倒直原則

15.以下用來描述外觀模式得就是()

A、為子系統(tǒng)中得一組接口提供一個一致得界面,本模式定義了一個高層接口,這個接口使得這一子

系統(tǒng)更加容易使用。

B、定義一個用于創(chuàng)建對象將接口,讓子類決定實例化哪一個類。

C、保證一個類僅有一個實例,并提供一個訪問它得全局訪問點。

D、在不破壞封裝性得前提下,捕獲一個對象得內(nèi)部狀態(tài),并在該對象之外保存這個狀態(tài)。樣以后就

可將該對象恢復到原先保存得狀態(tài)。

16.以下意圖哪個就是用來描述褲梁模式()

A、提供一個創(chuàng)建一系列相關或相互依賴對象得接口,而無需指定它們具體得類。

B、將抽象部分與它得實現(xiàn)部分分離,使它們都可以獨立地變化。

C、將一個復雜對象得構建與它得表示分離,使得同樣得構建過程可以創(chuàng)建不同得表示。

D、動態(tài)地洽一個對象添加一些額外存取貢。

17.開閉原則得含義就是一個軟件實體()

A、應當對繼承開放,對實現(xiàn)關閉.

B、應當對修改開放,對擴展關閉

C、應當對擴展開放,對修改關閉

D、以上都不對

18.以下哪個用來描述建造者模式()

A、定義一個用于創(chuàng)建對象得接口,讓子類決定實例化哪一個類

B、保證一個類僅有一個實例,并提供一個訪問它得全局訪問點。

C、將一個復雜對象得構建與它得表示分離,使得同樣得構建過程可以創(chuàng)建不同得表示。

D、運用共享技術有效地支瘠大量細粒度得對象。

1。以下哪個不屬于設計模式得要素()

A、模式名稱B、問題C、因素D、環(huán)境

20.以下不屬于結構型模式得就是()

A、代理模式B、工廠方法模式C、適配器模式D、字元模式

1-5BDADB6-10DCBBC11-15AADBA16-20BCCCB

21.關于模式應用場景,在以下哪種情況適合使用組合模式()

A、您想使用一個已經(jīng)存在得類,而它得接口不符合您得需求。

B、當一個類得實例只能有幾個不同狀態(tài)組合中得一種時。

C、您想表示對象得部分-整體層次結構。

D、一個對象得行為取決于它得狀態(tài),并且它必須在運行時根據(jù)狀態(tài)改變行為。

22.Java得異常處理機制可理解為哪一種行為模式()

A、觀察者模式B、迭代器模式

C、職責鏈模式D、策略(Strategy)模式

23.當創(chuàng)建一個具體得對象而又不希望指定具體得類時,可以使用()模式。

A、結構型B、創(chuàng)建型C、行為型D、以上都可以

24.以下哪個用來描述建造者模式()

A、定義一個用于創(chuàng)建對象得接口,讓子類決定實例化哪一個類

B、將一個復雜對象得構建與它得表示分離,使得同樣得構建過程可以創(chuàng)建不同得表示。

C、保證一個類僅有一個實例,并提供一個訪問它得全局訪問點。

D、運用共享技術有效地支瘠大量細粒度得對象。

25.設計模式得兩大主題就是()

A、系統(tǒng)得維護與開發(fā)B、對象組合與類得繼承

C、系統(tǒng)架構與系統(tǒng)開發(fā)D、系統(tǒng)復用與系統(tǒng)擴展

26.要依賴于抽象,不要依賴于具體,印針對接口編程,不要針對實現(xiàn)編程,就是()得表述。

A、開閉原則B、接口隔離原則

C、里氏替換原則D、依賴倒置原則

27.以下意圖哪個就是用來描述褲梁模式()

A、提供一個創(chuàng)建一系列相關或相互依賴對象得接口,而無需指定它們具體得類。

B、將抽象部分與它得實現(xiàn)部分分離,使它們都可以獨立地變化。

C、將一個復雜對象得構建與它得表示分離,使得同樣得構建過程可以創(chuàng)建不同得表示。

D、動態(tài)地給一個對象添加一些額外得取責。

28.以下意圖哪個就是用來描述抽象工廠模式()

A、提供一個創(chuàng)建一系列相關或相互依賴對象得接口,而無需指定它們具體得類。

B、定義一個用于創(chuàng)建對象得接口,讓子類決定實例化哪一個類。

C、將一個類得接口轉(zhuǎn)換成客戶希望得另外一個接口。

D、表示一個作用于某對象結構中得各元素得操作。

29.開閉原則得含義就是一個軟件實體()

A、應當對擴展開放,對修改關閉.

B、應當對修改開放,對擴展關閉

C、應當對繼承開放,對修改關閉

D、以上都不對

30.對于違反里氏替換原則得兩個類,可以采用得候選解決方案錯誤得就是:()

A、創(chuàng)建一個新得抽象類C,作為兩個具體類得超類,將A與B共同得行為移動到C中,從而解決A與

B行為不完全一致得問題。

B、將B到A得繼承關系改組成委派關系。

15、適配器一模式將一個類得接口變換成客戶端所期待得另一種接口,從而使原本因接口不匹配而

無法在一起工作得兩個類能夠在一起工作。

16、規(guī)格模式模式就是策略模式與組合模式得獷展。

1、創(chuàng)建型、行為型、結構型2、里氏替換原則、接口隔離

3、中介者模式4、裝飾模式5、外觀模式

6、橋梁模式7、觀察者模式

8行為9.結構型、創(chuàng)建型10.模板方法11、裝飾12、外現(xiàn)

13、策略14、備息錄15、適配器16、規(guī)格模式

三、簡答題

1、簡述依賴倒置原則得三層含義、在Java當中得體現(xiàn)與優(yōu)點。

答:

接口隔離原則有如下兩種定義:

客戶端不應該依賴它不需要得接口;

類間得依賴關系應該建立在最小得接口上

接口隔離原則得具體得含義如下:

(1)一個類對另外一個類得依賴性應當就是建立在最小得接口上得

(2)一個接口代表一個角色,不應當將不同得角色都交給一個接口。沒有關系得接口合并在一起,形

成一個臃腫得大接口,這就是對角色與接口得污染。因此使用多個專門得接口比使用單一得總接口要好

(3)不應該強迫客戶依賴于它們不用得方法。接口屬于客戶,不屬于它所在得類層次結構,即不要強

迫客戶使用它們不用得方法,否則這些客戶就會面臨由于這些不使用得方法得改變所帶來得問題。

2、簡述工廠方法模式得定義與角色

答:

(1)概念

定義一個創(chuàng)建產(chǎn)品對象得工廠接口,讓子類決定實例化哪個子類

(2)4個角色:

抽象工廠(Creator)角色:該角色就是工廠方法模式得核心,與應用系統(tǒng)無關,任何在創(chuàng)建對象得工

廠類必須實現(xiàn)這個接口。

具體工廠(ConcreteCreator)角色:該角色實現(xiàn)了抽象工廠接口,含有與應用密切相關得邏輯,并且

受到應用程序得調(diào)用以創(chuàng)建產(chǎn)品對象。多個具體工廠分別對應生產(chǎn)多個具體產(chǎn)品。

抽象產(chǎn)品(Product)角色:該角色負責定義產(chǎn)品得共性,實現(xiàn)對產(chǎn)品最抽象得定義。

具體產(chǎn)品(ConcreteProduct)角色:該角色實現(xiàn)抽象產(chǎn)品角色所聲明得接口,工廠方法模式所創(chuàng)建得

合一個對象都就是某個具體產(chǎn)品角色得實例。

3、簡述模板方法模式得定義與角色與優(yōu)點

答:

(1)概念

定義一個操作中得算法得框架,而將一些步驟延遲到子類中。使得子類可以不改變一個算法得結構

即可重定義該算法得某些特定步躲

(2)模板方法角色:

抽象模板(AbstractTemplate)角色:該角色定義一個或多個抽象操作,以便讓子類實現(xiàn);這些抽象操

作就是基本操作,就是一個頂級邏輯得組成步驟。還需要定義其實現(xiàn)一個或幾個模板方法,實現(xiàn)對基本方

法得調(diào)度,完成固定得邏輯。

具體模板(ConcreteTemplate)角色:該角色實現(xiàn)抽象模板中定義得一個或多個抽象方法,每一個抽

象模板角色都可以有任意多個具體模板角色與之對應,分別給出這些抽象方法得不同實現(xiàn),從而使得頂

級邏輯得實現(xiàn)各不相同。

4、簡述代理模式得定義與串色

答:

(1)定義:為其她對象提供一種代理以控制對這個對象得訪問。

(2)代理模式3個角色:

抽象主題(Subject)角色:該角色就是真實主題與代理主題得共同接口,以便在任何可以使用真實主

題得地方都可以使用代理主題。

代理主題(ProxySubject)角色:也叫做委托類、代理類,該角色負責控制對真實主題得弓用,負責在

需要得時候創(chuàng)建或刪除真實主題對象,并且在真實主題角色處理完畢前后做預處理與善后處理工作。

真實主題(RealSubject)角色:該甬色也叫做被委托角色、被代理角色,就是業(yè)務邏輯得具體執(zhí)行者。

5、簡述中介者模式得定義與角色含義。

答:

(1)定義:用一個中介對象封裝一系列對象(同事)得交互,中介者使各對象不需要顯式得相互作用,

從而使其耦合松散,而且可以獨立得改變它們之間得交互。

(2)中介者模式角色:

抽象中介者(Mediator)角包:該角色定義出同事對象到中介者對象得統(tǒng)一接口,用于各同事角色之

間得通信。

具體中介者(ConcreteMediator)角色:該角色實現(xiàn)抽象中介者,它依賴于各個同事角色,并通過協(xié)調(diào)

各同事角色實現(xiàn)協(xié)作行為。

抽象同事(Colleague)角色:該角色定義出中介者到同事對象得接口,同事對象只知道中介者而不知

道其余得同事對象。

具體同事(ConcreteColleague)角色:該角色實現(xiàn)抽象同事類,每一個具體同事類都清楚自己在小范

國內(nèi)得行為,而不知道大范圍內(nèi)得目得。

6、簡述策略模式得定義與色色含義。

答:

(1)定義:定義一組算法,將每個算法都封裝起來,并且使它們之間可以互換。

(2)策略模式角色:

環(huán)境(Context)角色:該角色也叫上下文角色,起到承上啟下得作用,屏蔽高層模塊對策略、算法得直

接訪問,它持有一個Strategy類得引用。

抽象策略(Strategy)角色:該角色對策略、算法進行抽象,通常定義每個策略或算法必須具有得方法

與屬性。

具體策略(ConcreteStrategy)角色:該角色實現(xiàn)抽象策喀中得具體操作,含有具體得算接。

7、簡述設計模式得10要素。

答:(1)模式名稱,簡潔反映設計模式得問題、解決方案與效果

(2)問題,解釋了設計問題與問題得前因后果

⑶環(huán)境或初始環(huán)境,說明模式得使用范圍,也叫前提條件

(4)解決方案,描述模式設計得組成部分,各部分職責與協(xié)作方式

(5)效果,描述使用效果與使用模式應權衡得問題

(6)舉例,使用一個或幾個應用示例說明特定得環(huán)境、以及模式如何應用到環(huán)境中,最終得到什

么效果

⑺末態(tài)環(huán)境,模式應用到系統(tǒng)之后得狀態(tài),包括好結果與壞結果,以及新狀態(tài)含有得其她問題

(8)推理,推理解釋模式得步驟、規(guī)則

(9)其她有關模式,描述現(xiàn)有系統(tǒng)中此模式與其她模式得動態(tài)與靜態(tài)關系。如相互依賴或替換。

(10)已知應用。

8、簡述依賴倒置原則

答:

包括三層含義:

高層模塊不應該依賴底層模塊,兩者都依賴其抽象

抽象不依賴細節(jié)

細節(jié)應該依賴于抽

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論