設計模式總復習題_第1頁
設計模式總復習題_第2頁
設計模式總復習題_第3頁
設計模式總復習題_第4頁
設計模式總復習題_第5頁
已閱讀5頁,還剩13頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、總復習題復習參考資料:1. gof 設計模式2. 設計模式解析3. 易學設計模式4. 大話設計模式5. 深入淺出設計模式以參考資料為主,模擬試題1-5中有些題答案在一些附加資料中模擬試題1一、 選擇題(分值20)1. 設計模式一般用來解決什么樣的問題( )a.同一問題的不同表相 b不同問題的同一表相c.不同問題的不同表相 d.以上都不是2. 下列屬于面向對象基本原則的是( )a.繼承 b.封裝 c.里氏代換 d都不是3. open-close原則的含義是一個軟件實體( )a.應當對擴展開放,對修改關閉.b.應當對修改開放,對擴展關閉c.應當對繼承開放,對修改關閉d.以上都不對4. 當我們想創(chuàng)建

2、一個具體的對象而又不希望指定具體的類時,可以使用( )模式。a.創(chuàng)建型 b.結構型 c行為型 d.以上都可以5. 要依賴于抽象,不要依賴于具體。即針對接口編程,不要針對實現(xiàn)編程,是( )的表述a. 開-閉原則b. 接口隔離原則c. 里氏代換原則d. 依賴倒轉原則6. 依據(jù)設計模式思想,程序開發(fā)中應優(yōu)先使用的是( )關系實現(xiàn)復用。a, 委派 b.繼承 c創(chuàng)建 d.以上都不對7. 設計模式的兩大主題是( )a.系統(tǒng)的維護與開發(fā) b 對象組合與類的繼承c.系統(tǒng)架構與系統(tǒng)開發(fā) d.系統(tǒng)復用與系統(tǒng)擴展8. 單體模式中,兩個基本要點( )和單體類自己提供單例a .構造函數(shù)私有 b.唯一實例c.靜態(tài)工廠方法

3、 d.以上都不對9. 下列模式中,屬于行為模式的是( )a.工廠模式 b觀察者 c適配器 以上都是10. “不要和陌生人說話” 是( )原則的通俗表述a.接口隔離 b.里氏代換 c.依賴倒轉 d.迪米特二、 填空題(分值20)1. 軟件體系結構是指一個系統(tǒng)的有目的的設計和規(guī)劃,這個設計規(guī)劃既不描述 ,也不描述 ,它只描述系統(tǒng)的 及其相互的 。2一個uml模型只描述了一個系統(tǒng) ,它并沒告訴我們系統(tǒng)是 。3接口是可以在整個模型中反復使用的一組行為,是一個沒有 而只有 的類。4多重性指的是,某個類有 個對象可以和另一個類的 對象關聯(lián)。5當一個類的對象可以充當多種角色時, 關聯(lián)就可能發(fā)生。6在泛化關系

4、中, 可以替代 。也就是說,后者出現(xiàn)的地方,前者都可以出現(xiàn)。但是反過來卻不成立。7最通常的依賴關系是一個類操作的 中用到了 的定義。8組成是 的聚集,因為聚集中的每個部分體只能屬于 整體。9實現(xiàn)的符號和繼承的符號有相似之處,兩者的唯一差別是實現(xiàn)關系用 表示,繼承關系用 表示。10. 設計模式中應優(yōu)先使用 而不是 。三、 判斷題(分值15)1. 適配器模式屬于創(chuàng)建型模式( )2. 在設計模式中,“效果”只是指“原因和結果”( )3. 設計模式使代碼編制不能真正工程化 ( )4. 面向對象語言編程中的異常處理,可以理解為責任鏈模式( )5. 反模式就是反對在軟件開發(fā)過程中使用設計模式( )四、問答

5、題(分值30)1. 什么是設計模式?設計模式目標是什么?2. 設計模式中一般都遵循的原則有什么?3. “gang of four”針對“創(chuàng)建優(yōu)秀面向對象設計”建議了哪些策略?4. 面向對象系統(tǒng)中功能復用的兩種最常用技術是什么?5. 只根據(jù)抽象類中定義的接口來操縱對象有什么好處?五、應用題(分值15)公司架構:經(jīng)理、工程師、技師和后勤人員都是公司的雇員,經(jīng)理管理工程師、技師和后勤人員。高層經(jīng)理領導較低級別的經(jīng)理。典型層次圖如下:可以使用哪種設計模式實現(xiàn)公司的層級關系?并說明為什么?模擬試題2一、 選擇題(分值20)1. 在觀察者模式中,表述錯誤的是( )a. 觀察者角色的更新是被動的。b. 被觀

6、察者可以通知觀察者進行更新c. 觀察者可以改變被觀察者的狀態(tài),再由被觀察者通知所有觀察者依據(jù)被觀察者的狀態(tài)進行。d. 以上表述全部錯誤。2. 對于違反里式代換原則的兩個類,可以采用的候選解決方案錯誤的是:( )a. 創(chuàng)建一個新的抽象類c,作為兩個具體類的超類,將a 和b 共同的行為移動到c 中,從而解決a和b 行為不完全一致的問題。b. 將b到a的繼承關系改組成委派關系。c. 區(qū)分是“is-a”還是”hasa”。如果是“is-a”,可以使用繼承關系,如果是”hasa”應該改成委派關系d. 以上方案錯誤3. 下列模式屬于結構型設計模式的是( )a. compositeb. 享元(flyweigh

7、t)模式c. 單體模式d. 工廠方法4. 關于繼承表述錯誤的是:( )a. 繼承是一種通過擴展一個已有對象的實現(xiàn),從而獲得新功能的復用方法。b. 泛化類(超類)可以顯式地捕獲那些公共的屬性和方法。特殊類(子類)則通過附加屬性和方法來進行實現(xiàn)的擴展。c. 破壞了封裝性,因為這會將父類的實現(xiàn)細節(jié)暴露給子類。d. 繼承本質上是“白盒復用”,對父類的修改,不會影響到子類。5. 對于依賴倒轉的表述錯誤的是( )a. 依賴于抽象而不依賴于具體,也就是針對接口編程。b. 依賴倒轉的接口并非語法意義上的接口,而是一個類對其他對象進行調用時,所知道的方法集合。c. 從選項b的角度論述,一個對象可以有多個接口。d

8、. 實現(xiàn)了同一接口的對象,可以在運行期間,順利地進行替換。而且不必知道所用的對象是那個實現(xiàn)類的實例。e. 此題沒有正確答案。6. 可以使用哪一種設計模式限制類的實例唯一?( )a. 工廠方法b. 生成器模式c. 原型模式d單體模式7. java數(shù)據(jù)庫連接庫jdbc用到哪種設計模式( )?a. 生成器 b.工廠方法 c.抽象工廠 d單體8. 關于運用gof工廠方法的效果consequences,說法不正確的是( )a. 將客戶代碼與應用相關的類解耦b. 它使得所涉及的產品系列可替換c. 它有利于產品的一致性d它較易于支持新種類的產品8. 在應用程序中可用哪些設計模式分離出算法?( )a. 工廠方

9、法b. 策略模式c. 訪問者模式d. 裝飾器模式9. 工廠方法也稱為( )a. 抽象工廠b. 抽象構造器c. 虛工廠d. 虛構造器10. 可以使用哪種設計模式將抽象和實現(xiàn)解耦,使得抽象和實現(xiàn)可以獨自變化?( )a. 適配器模式b橋接模式c. 外觀模式d組合橋接模式 二、 填空題(分值20)1. 面向對象的七條基本原則包括:開閉原則,里式代換原則,合成聚合原則以及( ),( ),( ),( )。2. 在存在繼承關系的情況下,方法向( )方向集中,而數(shù)據(jù)向( )方向集中。3. 適配器模式,分為類的適配器和對象的適配器兩種實現(xiàn)。其中類的適配器采用的是( )關系,而對象適配器采用的是( )關系。4.

10、設計模式的四個基本要素是( ),( ),( )和( )。5. .創(chuàng)建型模式的根本意圖是要把( )和( )的責任進行分離,從而降低系統(tǒng)的( )。6. 工廠模式分為( ),( ),( )三種類型。7. 門面模式是( )法則的典型運用8. mvc模型的基本工作原理是基于( )模式,實現(xiàn)是基于( )模式9. 設計模式的思想根源是( )基本原則的宏觀運用,本質上是沒有任何模式的,發(fā)現(xiàn)模式的人永遠是大師,而死守模式的人,最對只能是一個工匠. 三、 判斷題(分值15) 1. 虛擬代理可以使用一個小對象代替大對象,從而減少系統(tǒng)的資源的消耗,提高系統(tǒng)運行速度。( )2. 命令模式可以消除請求發(fā)送者與請求接收者彼

11、此之間的耦合,使得對象之間的關系更加靈活。( )3. 解釋器模式是對象行為型模式,通常較少使用。( )4. 迭代器模式是開閉原則最好體現(xiàn),因為迭代器模式將聚合對象和迭代器分離開來。( )5. 中介者模式設計符合單一職責原則。( ) 得分評卷人 四、問答題(分值30) 1. 在mvc模型中m、v、c分別指什么?簡述它們之間的關系?2. 什么是開閉原則?3. 設計數(shù)據(jù)庫的系統(tǒng)日志,要考慮使用哪些設計模式?4. 使用工廠模式的主要原因是什么?5. 在面向對象設計中,編譯原理的有限狀態(tài)機可以什么樣解決方案完成? 五、應用題(分值20)考慮如下場景的設計:貓大叫一聲,所有的老鼠都開始逃跑,主人被驚醒。問

12、:(1)設計可能用到什么設計模式?(2)畫出其類圖。模擬試題3一、 多項選擇題(分值30)(1)以下是模式的基本要素的是( )a)名稱 b)意圖c)解決方案 d)參與者和協(xié)作者(2)常用的描述設計模式的格式有( )a)意圖 b)動機 c)適用性 d)結構(3)以下哪些問題通過應用設計模式能夠解決( ) 。 a)指定對象的接口b)排除軟件bug c)確定軟件的功能都正確實現(xiàn)d)設計應支持變化(4)面向對象系統(tǒng)中功能復用的最常用技術是( )。a)類繼承b)對象組合c)使用抽象類d)使用實現(xiàn)類(5)常用的基本設計模式可分為( )。a)創(chuàng)建型、結構型和行為型b)對象型、結構型和行為型c)過程型、結構型

13、和行為型d)抽象型、接口型和實現(xiàn)型(6)以下關于創(chuàng)建型模式說法正確的是( )。a)創(chuàng)建型模式關注的是對象的創(chuàng)建 b)創(chuàng)建型模式關注的是功能的實現(xiàn)c)創(chuàng)建型模式關注的是組織類和對象的常用方法 d)創(chuàng)建型模式關注的是對象間的協(xié)作 (7)以下屬于創(chuàng)建型模式的是( )。a)抽象工廠(abstract factory)模式 b)合成(composite)模式 c)單例(singleton)模式d)橋接(bridge)模式(8) ( )模式是利用一個對象,快速生成一批對象。a)抽象工廠(abstract factory)模式 b)合成(composite)模式 c)原型(prototype)模式d)橋接(

14、bridge)模式(9)在不破壞類封裝性的基礎上,使得類可以同不曾估計到的系統(tǒng)進行交互。主要體現(xiàn)在( )。 a)適配器(adapter)模式 b)合成(composite)模式 c)原型(prototype)模式d)橋接(bridge)模式(10)結構型模式中最體現(xiàn)擴展性的幾種模式是( )a)適配器(adapter)模式 b)合成(composite)模式 c)裝飾(decorator)模式d)橋接(bridge)模式(11)行為類模式使用( )在類間分派行為。a)接口 b)繼承機制c)對象組合 d)委托(12)以下屬于行為對象模式的是( )a)模板(template method)模式 b)

15、迭代器(iterator)模式 c)命令(command)模式d)觀察者(observer)模式(13)封裝分布于多個類之間的行為的模式是( ) a)觀察者(observer)模式 b)迭代器(iterator)模式 c)訪問者(visitor)模式d)策略(strategy)模式 (14)observer(觀察者)模式適用于( )a)當一個抽象模型存在兩個方面,其中一個方面依賴于另一方面,將這二者封裝在獨立的對象中以使它們可以各自獨立地改變和復用。 b)當對一個對象的改變需要同時改變其它對象,而不知道具體有多少對象有待改變時。 c)當一個對象必須通知其它對象,而它又不能假定其它對象是誰。也就

16、是說你不希望這些對象是緊耦合的。d)一個對象結構包含很多類對象,它們有不同的接口,而想對這些對象實施一些依賴于其具體類的操作。(15)java的異常處理機制可理解為哪一種行為模式( )。a)觀察者(observer)模式 b)迭代器(iterator)模式 c)職責鏈(chain of responsibility)模式d)策略(strategy)模式 二、 填空題(分值20)把下列面向對象的術語填入對應的括號中:里氏替換(lsp)、接口隔離(isp)、依賴倒置(dip)、單一職責(srp)、開閉(ocp)、優(yōu)先使用組合(carp)、接口1. ( )原則的核心思想是系統(tǒng)中的每一個對象都應該只有

17、一個單獨的職責,而所有對象所關注的就是自身職責的完成。2. ( )原則的核心思想是一個對象對擴展開放,對修改關閉;實現(xiàn)此原則的關鍵就在于( )、分離出( )部分和( )部分。3. ( )原則的核心思想是在任何父類出現(xiàn)的地方都可以用它的子類來替代。4. ( )原則的核心思想是要依賴于抽象,而不要依賴于具體的實現(xiàn)。5. ( )原則的核心思想是不應該強迫客戶程序依賴于他們不用的方法。即一個接口不需要提供太多的行為,應該只提供一種對外的功能,不應該把所有的操作都封裝在一個接口中。6. ( )原則的核心思想是一個對象應當對其它對象盡可能少的了解?;蛘哒f,只和你的朋友說話。這樣一些對象可以看做朋友:當前對

18、象本身、通過方法的參數(shù)傳遞進來的對象、當前對象所創(chuàng)建的對象、當前對象的實例變量所引用的對象和方法內所創(chuàng)建或者實例化的對象。7. ( )原則的核心思想是優(yōu)先使用組合而非繼承。8. 設計模式應該面向( )編程 三、 判斷題(分值10)1. 單一職責原則表現(xiàn)在面向對象的程序中就是“高內聚、低耦合”。( ) 2. 設計模式只能遵從使用,不能也無需創(chuàng)新。( )3. 在面向對象編程時,無論何時何地都要使用gof所給出的設計模式,這樣編寫的代碼才比較好。( )4. 工廠方法能夠提高內聚性,松散耦合,并且有助于測試。( )5. 對象要么構造其它對象,要么使用其它對象,絕不要兩者兼顧。( ) 四、問答題(分值3

19、0)1. 單例模式的兩種實現(xiàn)方法,并說明優(yōu)缺點?2. 什么是對象粒度? 3. mvc模式是個復合模式,請寫出你兩種你所知道的mvc中使用的模式。4. 舉例說明,適配器模式和裝配器在java io中的應用。5. 在面向對象程序設計中,常常需要避免過多case語句或者if語句,請給出一種設計模式避免過多的條件分支語句,同時指出這種設計模式如何幫助避免過多的case語句?五、應用題(分值10)某房地產公司欲開發(fā)一套房產信息管理系統(tǒng),根據(jù)如下描述選擇合適的設計模式進行設計: (1) 該公司有多種房型,如公寓、別墅等,在將來可能會增加新的房型;(2) 銷售人員每售出一套房子,主管將收到相應的銷售消息。如

20、果對上述場景編程,那么上述(1)和(2)可能分別用到哪些設計模式?模擬試題4一、 選擇題(分值20)1. 設計模式具有的優(yōu)點( )。a. 適應需求變化 b. 程序易于理解c. 減少開發(fā)過程中的代碼開發(fā)工作量 d. 簡化軟件系統(tǒng)的設計2. 下圖描述了一種設計模式,該設計模式不可以( )。a. 動態(tài)決定由一組對象中某個對象處理該請求b. 動態(tài)指定處理一個請求的對象集合, 并高效率地處理一個請求c. 使多個對象都有機會處理請求,避免請求的發(fā)送者和接收者間的耦合關系d. 將對象連成一條鏈,并沿著該鏈傳遞請求3. 若系統(tǒng)中的某子模塊需要為其它模塊( )提供訪問不同數(shù)據(jù)庫系統(tǒng)(oracle、sql ser

21、ver、db2 udb 等)的功能,這些數(shù)據(jù)庫系統(tǒng)提供的訪問接口有一定的差異,但訪問過程卻都是相同的,例如,先連接數(shù)據(jù)庫,再打開數(shù)據(jù)庫,最后對數(shù)據(jù)進行查詢, 設計模式可抽象出相同的數(shù)據(jù)庫訪問過程;a. 外觀 b. 裝飾 c. 單件 d. 模板方法4. 系統(tǒng)中的文本顯示類(textview)和圖片顯示類(pictureview)都繼承了組件類(component),分別顯示文本和圖片內容,現(xiàn)需要構造帶有滾動條、或者帶有黑色邊框、或者既有滾動條又有黑色邊框的文本顯示控件和圖片顯示控件,但希望最多只增加三個類,( )設計模式可以實現(xiàn)該目的。a. 外觀 b. 裝飾 c. 單件 d. 模板方法5. 下面

22、的類圖表示的是哪個模式?a. 抽象工廠模式(abstract factory)b. 工廠方法模式(factory method)c. 命令模式(command)d. 責任鏈模式(chain of responsibility)6. 下面的類圖表示的是哪個設計模式?a. 代理模式(proxy) b. 裝飾模式(decorator)c. 橋接模式(bridge) d. 觀察者模式(observer)7. 下面的類圖表示的是哪個模式?a. 代理模式(proxy) b. 外觀模式(facade)c. 適配器模式(adapter) d. 橋接模式(bridge)8. 下面的類圖表明了哪個模式?a. 責任

23、鏈模式(chain of responsibility)b. 命令模式(command)c. 備忘錄模式(memento)d. 工廠方法模式(factory method)9. 下面的類圖表示的是哪個設計模式?a. 模板方法模式(template method)b. 命令模式(command)c. 單例模式(singleton) d. 狀態(tài)模式(state)10. 下面的類圖表明了哪個模式?a. 模板方法模式(template method) b. 命令模式(command)c. 單例模式(singleton) d. 狀態(tài)模式(state) 二、 填空題(分值20)請從外觀、訪問者、組合、工廠

24、方法、模板方法、觀察者、享元、原型、責任鏈、單例、抽象工廠、命令12 種模式中選擇10 種填入下列的空缺中。1 ( )模式中,父類負責定義創(chuàng)建對象的公共接口,子類則負責生成具體的對象。2.( )模式提供一系列相關或相互依賴對象的接口而無需指定它們具體的類。3( )模式用原型實例指定創(chuàng)建對象的種類,并且通過拷貝這些原型實例創(chuàng)建新的對象。4( )模式確保某一個類僅有一個實例,并自行實例化并向整個系統(tǒng)提供這個實例。5 ( )模式將對象組合成樹形結構以表示“部分-整體”的層次結構。使得用戶對單個對象和組合對象的使用具有一致性。6 ( )模式定義了一個高層接口,這個接口使得這一子系統(tǒng)更加容易使用,為子系

25、統(tǒng)中的一組接口提供一個一致的界面。7 ( )模式運用共享技術有效地支持大量細粒度的對象。8 ( )模式使多個對象都有機會處理請求,從而避免請求的發(fā)送者和接收者之間的耦合關系。9 ( )模式定義對象間的一種一對多的依賴關系,當一個對象的狀態(tài)發(fā)生改變時, 所有依賴于它的對象都得到通知并被自動更新。10 ( )模式定義一個操作中的算法的骨架,而將一些步驟延遲到子類中。 三、簡答題(分值30)關于設計模式,請回答:a) 什么是設計模式?設計模式的目標是什么?(3 分)b) 設計模式具有哪三大特點?(3 分)c) gof 設計模式常用的有幾種?gof 設計模式按照模式的目的可分為哪三類?(4 分)1.

26、簡述面向對象程序設計的六大基本原則?(6分)2. 簡述什么是單例模式,以及他解決的問題,應用的環(huán)境,解決的方案,模式的本質? (8分)3. 為什么面向對象的分析和設計中優(yōu)先使用組合,而非繼承?四、程序閱讀題(分值15)在下面的c+代碼中,類salesticket能夠完成打印票據(jù)正文的功能,類headdecorator 與footdecorator 分別完成打印票據(jù)的臺頭和腳注的功能。已知該程序運行后的輸出結果如下所示。這是票據(jù)的臺頭!這是票據(jù)正文!這是票據(jù)的腳注!-這是票據(jù)的臺頭!這是票據(jù)的腳注!c+程序代碼#include using namespace std;class salestic

27、ket public:virtual void printticket() cout 這是票據(jù)正文! printticket();class headdecorator : public decoratorpublic:headdecorator(salesticket *t): decorator(t) void printticket() cout 這是票據(jù)的臺頭! endl;decorator:printticket();class footdecorator :public decoratorpublic:footdecorator(salesticket *t): decorator

28、(t) void printticket() decorator:printticket();cout 這是票據(jù)的腳注! endl;void main(void) salesticket t;footdecorator f(&t);headdecorator h(&f);h.printticket();cout - endl;footdecorator a(null);headdecorator b(&a);b.printticket();請根據(jù)題目描述、程序和輸出,闡述采用該設計模式進行設計的優(yōu)勢?五、應用題(分值15)一般的企業(yè)采購審批都是分級的,采購量的不同就需要不同層次的主管人員來審批

29、,如主任可以審批1 萬元以下的采購單,副董事長可以申批2.5 萬元以下的采購單,董事長可以審批10萬元以下的采購單,10 萬元以上的采購單就需要開會決定。請根據(jù)該描述,選擇合適的設計模式并給出其類圖。模擬試題5一、 選擇題(分值20)1. 以動作和事務聞名,且以對象形式用來封裝回滾、日志或者事務功能。這種設計模式是( )a. 責任鏈模式b命令模式c. 觀察者模式d. 策略模式2. 以下不屬于創(chuàng)建型模式是 ( )a. proxy(代理)b. builder(生成器)c. prototype原型 d. singleton單件3. 以下不屬于結構型模式是? ( )a. composite(組合)b.

30、 adapter(適配器)c. flyweight(享元)d. singleton(單例)4. 以下不屬于行為型模式是? ( )a. command(命令)b. strategy(策略)c. memento(備忘錄)d. bridge(橋接)5. 以下意圖那個是用來描述builder(生成器)?( )a. 定義一個用于創(chuàng)建對象的接口,讓子類決定實例化哪一個類b. 將一個復雜對象的構建與它的表示分離,使得同樣的構建過程可以創(chuàng)建不同的表示。c. 保證一個類僅有一個實例,并提供一個訪問它的全局訪問點。d. 運用共享技術有效地支持大量細粒度的對象。6. 以下意圖那個是用來描述prototype(原型)

31、?( )a. 允許一個對象在其內部狀態(tài)改變時改變它的行為。對象看起來似乎修改了它的類。b. 表示一個作用于某對象結構中的各元素的操作。它使你可以在不改變各 元素的類的前提下定義作用于這些元素的新操作。c. 定義對象間的一種一對多的依賴關系,當一個對象的狀態(tài)發(fā)生改變時, 所有依賴于它的對象都得到通知并被自動更新。d. 用原型實例指定創(chuàng)建對象的種類,并通過拷貝這些原型創(chuàng)建新的對象。7. 以下意圖那個是用來描述adapter(適配器)?( )a. 將一個類的接口轉換成客戶希望的另外一個接口。本模式使得原本由于接口不兼容而不能一起工作的那些類可以一起工作。b. 定義一個用于創(chuàng)建對象的接口,讓子類決定實

32、例化哪一個類c. 表示一個作用于某對象結構中的各元素的操作。它使你可以在不改變各元素的類的前提下定義作用于這些元素的新操作。d. 將一個請求封裝為一個對象,從而使你可用不同的請求對客戶進行參數(shù)化;對請求排隊或記錄請求日志,以及支持可撤消的操作。8. 以下意圖那個是用來描述bridge(橋接)?( )a. 提供一個創(chuàng)建一系列相關或相互依賴對象的接口,而無需指定它們具體的類。b. 將抽象部分與它的實現(xiàn)部分分離,使它們都可以獨立地變化。c. 將一個復雜對象的構建與它的表示分離,使得同樣的構建過程可以創(chuàng)建不同的表示。d. 動態(tài)地給一個對象添加一些額外的職責。9. 以下哪個意圖是用來描述composit

33、e(組合)?( )a. 為其他對象提供一種代理以控制對這個對象的訪問。b. 運用共享技術有效地支持大量細粒度的對象。c. 將對象組合成樹形結構以表示部分-整體的層次結 構。d. 將一個復雜對象的構建與它的表示分離,使得同樣的構建過程可以創(chuàng)建不同的表示。10. 以下意圖那個是用來描述decorator(裝飾)?( )a. 運用共享技術有效地支持大量細粒度的對象。b. 用原型實例指定創(chuàng)建對象的種類,并且通過拷貝這些原型創(chuàng)建新的對象。c. 將抽象部分與它的實現(xiàn)部分分離,使它們都可以獨立 地變化。d. 動態(tài)地給一個對象添加一些額外的職責。11. 以下意圖那個是用來描述 facade(外觀)?( )a.

34、 為子系統(tǒng)中的一組接口提供一個一致的界面,本模式定義了一個高層接口,這個接口使得這一子系統(tǒng)更加容易使用。b. 定義一個用于創(chuàng)建對象的接口,讓子類決定實例化哪一個類。c. 保證一個類僅有一個實例,并提供一個訪問它的全局訪問點。d. 在不破壞封裝性的前提下,捕獲一個對象的內部狀態(tài),并在該對象之外保存這個狀態(tài)。這樣以后就可將該對象恢復到原先保存的狀態(tài)。12. 以下意圖那個是用來描述flyweight(享元)?( )a. 將抽象部分與它的實現(xiàn)部分分離,使它們都可以獨立地變化。b. 運用共享技術有效地支持大量細粒度的對象。c. 動態(tài)地給一個對象添加一些額外的職責。d. 用原型實例指定創(chuàng)建對象的種類,并且

35、過拷貝這些原型創(chuàng)建新的對象。13. 以下意圖那個是用來描述 proxy(代理)?( )a. 用原型實例指定創(chuàng)建對象的種類,并且通過拷貝這些原型創(chuàng)建新的對象。b. 運用共享技術有效地支持大量細粒度的對象。c. 為其他對象提供一種代理以控制對這個對象的訪問。d. 將一個復雜對象的構建與它的表示分離,使得同樣的構建過程可以創(chuàng)建不同的表示。14. 以下意圖那個是用來描述chain of responsibility(職責鏈)?( )a. 為子系統(tǒng)中的一組接口提供一個一致的界面,本模 式定義了一個高層接口,這個接口使得這一子系統(tǒng)更加容易使用。b. 提供一種方法順序訪問一個聚合對象中各個元素, 而又不需暴露該對象的內部表示。c. 在不破壞封裝性的前提下,捕獲一個對象的內部狀態(tài),并在該對象之外保存這個狀態(tài)。這樣以后就可將該對象恢復到原先保存的狀態(tài)。d. 使多個對象都有機會處理請求,從而避免請求的發(fā)送者和接收者之間的耦合關系。15. 以下意圖那個是用來描述 command(命令)?( )a.

溫馨提示

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

評論

0/150

提交評論