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

下載本文檔

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

文檔簡介

總復(fù)習(xí)題復(fù)習(xí)參考資料:GoF設(shè)計模式設(shè)計模式解析易學(xué)設(shè)計模式大話設(shè)計模式深入淺出設(shè)計模式以參考資料為主,模擬試題1-5中有些題答案在一些附加資料中模擬試題1一、選擇題(分值20)1、設(shè)計模式一般用來解決什么樣得問題()A、同一問題得不同表相B不同問題得同一表相C、不同問題得不同表相D、以上都不就是2、下列屬于面向?qū)ο蠡驹瓌t得就是()A、繼承B、封裝C、里氏代換D都不就是3、Open—Close原則得含義就是一個軟件實體()A、應(yīng)當(dāng)對擴(kuò)展開放,對修改關(guān)閉、B、應(yīng)當(dāng)對修改開放,對擴(kuò)展關(guān)閉C、應(yīng)當(dāng)對繼承開放,對修改關(guān)閉D、以上都不對4、當(dāng)我們想創(chuàng)建一個具體得對象而又不希望指定具體得類時,可以使用()模式。A、創(chuàng)建型B、結(jié)構(gòu)型C行為型D、以上都可以5、要依賴于抽象,不要依賴于具體.即針對接口編程,不要針對實現(xiàn)編程,就是()得表述A、開—閉原則B、接口隔離原則C、里氏代換原則D、依賴倒轉(zhuǎn)原則6、依據(jù)設(shè)計模式思想,程序開發(fā)中應(yīng)優(yōu)先使用得就是()關(guān)系實現(xiàn)復(fù)用。A,委派B、繼承C創(chuàng)建D、以上都不對7、設(shè)計模式得兩大主題就是()A、系統(tǒng)得維護(hù)與開發(fā)B對象組合與類得繼承C、系統(tǒng)架構(gòu)與系統(tǒng)開發(fā)D、系統(tǒng)復(fù)用與系統(tǒng)擴(kuò)展8、單體模式中,兩個基本要點()與單體類自己提供單例A、構(gòu)造函數(shù)私有B、唯一實例C、靜態(tài)工廠方法D、以上都不對9、下列模式中,屬于行為模式得就是()A、工廠模式B觀察者C適配器以上都就是10、“不要與陌生人說話”就是()原則得通俗表述A、接口隔離B、里氏代換C、依賴倒轉(zhuǎn)D、迪米特二、填空題(分值20)1、軟件體系結(jié)構(gòu)就是指一個系統(tǒng)得有目得得設(shè)計與規(guī)劃,這個設(shè)計規(guī)劃既不描述,也不描述,它只描述系統(tǒng)得及其相互得。2.一個UML模型只描述了一個系統(tǒng),它并沒告訴我們系統(tǒng)就是。3。接口就是可以在整個模型中反復(fù)使用得一組行為,就是一個沒有而只有得類。4.多重性指得就是,某個類有個對象可以與另一個類得對象關(guān)聯(lián)。5。當(dāng)一個類得對象可以充當(dāng)多種角色時,關(guān)聯(lián)就可能發(fā)生。6.在泛化關(guān)系中,可以替代。也就就是說,后者出現(xiàn)得地方,前者都可以出現(xiàn)。但就是反過來卻不成立.7。最通常得依賴關(guān)系就是一個類操作得中用到了得定義。8.組成就是得聚集,因為聚集中得每個部分體只能屬于整體。9。實現(xiàn)得符號與繼承得符號有相似之處,兩者得唯一差別就是實現(xiàn)關(guān)系用表示,繼承關(guān)系用表示。10、設(shè)計模式中應(yīng)優(yōu)先使用?而不就是。三、判斷題(分值15)適配器模式屬于創(chuàng)建型模式()在設(shè)計模式中,“效果"只就是指“原因與結(jié)果”()設(shè)計模式使代碼編制不能真正工程化()面向?qū)ο笳Z言編程中得異常處理,可以理解為責(zé)任鏈模式()反模式就就是反對在軟件開發(fā)過程中使用設(shè)計模式()四、問答題(分值30)什么就是設(shè)計模式?設(shè)計模式目標(biāo)就是什么?設(shè)計模式中一般都遵循得原則有什么?“GangofFour"針對“創(chuàng)建優(yōu)秀面向?qū)ο笤O(shè)計”建議了哪些策略?面向?qū)ο笙到y(tǒng)中功能復(fù)用得兩種最常用技術(shù)就是什么?只根據(jù)抽象類中定義得接口來操縱對象有什么好處?五、應(yīng)用題(分值15)公司架構(gòu):經(jīng)理、工程師、技師與后勤人員都就是公司得雇員,經(jīng)理管理工程師、技師與后勤人員。高層經(jīng)理領(lǐng)導(dǎo)較低級別得經(jīng)理.典型層次圖如下:可以使用哪種設(shè)計模式實現(xiàn)公司得層級關(guān)系?并說明為什么?

模擬試題2一、選擇題(分值20)1、在觀察者模式中,表述錯誤得就是()A、觀察者角色得更新就是被動得。B、被觀察者可以通知觀察者進(jìn)行更新C、觀察者可以改變被觀察者得狀態(tài),再由被觀察者通知所有觀察者依據(jù)被觀察者得狀態(tài)進(jìn)行.D、以上表述全部錯誤。2、對于違反里式代換原則得兩個類,可以采用得候選解決方案錯誤得就是:()A、創(chuàng)建一個新得抽象類C,作為兩個具體類得超類,將A與B共同得行為移動到C中,從而解決A與B行為不完全一致得問題。B、將B到A得繼承關(guān)系改組成委派關(guān)系.C、區(qū)分就是“IS-a”還就是”Has-a”。如果就是“Is—a”,可以使用繼承關(guān)系,如果就是”Has—a”應(yīng)該改成委派關(guān)系D、以上方案錯誤3、下列模式屬于結(jié)構(gòu)型設(shè)計模式得就是()A、positeB、享元(Flyweight)模式C、單體模式D、工廠方法4、關(guān)于繼承表述錯誤得就是:()A、繼承就是一種通過擴(kuò)展一個已有對象得實現(xiàn),從而獲得新功能得復(fù)用方法。B、泛化類(超類)可以顯式地捕獲那些公共得屬性與方法。特殊類(子類)則通過附加屬性與方法來進(jìn)行實現(xiàn)得擴(kuò)展。C、破壞了封裝性,因為這會將父類得實現(xiàn)細(xì)節(jié)暴露給子類。D、繼承本質(zhì)上就是“白盒復(fù)用”,對父類得修改,不會影響到子類.5、對于依賴倒轉(zhuǎn)得表述錯誤得就是()A、依賴于抽象而不依賴于具體,也就就是針對接口編程。B、依賴倒轉(zhuǎn)得接口并非語法意義上得接口,而就是一個類對其她對象進(jìn)行調(diào)用時,所知道得方法集合。C、從選項B得角度論述,一個對象可以有多個接口。D、實現(xiàn)了同一接口得對象,可以在運行期間,順利地進(jìn)行替換。而且不必知道所用得對象就是那個實現(xiàn)類得實例。E、此題沒有正確答案.6、可以使用哪一種設(shè)計模式限制類得實例唯一?()A、工廠方法B、生成器模式C、原型模式D。單體模式7、Java數(shù)據(jù)庫連接庫JDBC用到哪種設(shè)計模式()?A、生成器B、工廠方法C、抽象工廠D.單體8、關(guān)于運用GOF工廠方法得效果Consequences,說法不正確得就是()A、將客戶代碼與應(yīng)用相關(guān)得類解耦B、它使得所涉及得產(chǎn)品系列可替換C、它有利于產(chǎn)品得一致性D。它較易于支持新種類得產(chǎn)品8、在應(yīng)用程序中可用哪些設(shè)計模式分離出算法?()A、工廠方法B、策略模式C、訪問者模式D、裝飾器模式9、工廠方法也稱為()A、抽象工廠B、抽象構(gòu)造器C、虛工廠D、虛構(gòu)造器10、可以使用哪種設(shè)計模式將抽象與實現(xiàn)解耦,使得抽象與實現(xiàn)可以獨自變化?()A、適配器模式B.橋接模式C、外觀模式D。組合橋接模式二、填空題(分值20)面向?qū)ο蟮闷邨l基本原則包括:開閉原則,里式代換原則,合成聚合原則以及(),(),(),()。在存在繼承關(guān)系得情況下,方法向()方向集中,而數(shù)據(jù)向()方向集中。適配器模式,分為類得適配器與對象得適配器兩種實現(xiàn)。其中類得適配器采用得就是()關(guān)系,而對象適配器采用得就是()關(guān)系。設(shè)計模式得四個基本要素就是(),(),()與()。、創(chuàng)建型模式得根本意圖就是要把()與()得責(zé)任進(jìn)行分離,從而降低系統(tǒng)得()。工廠模式分為(),(),()三種類型。門面模式就是()法則得典型運用MVC模型得基本工作原理就是基于()模式,實現(xiàn)就是基于()模式設(shè)計模式得思想根源就是()基本原則得宏觀運用,本質(zhì)上就是沒有任何模式得,發(fā)現(xiàn)模式得人永遠(yuǎn)就是大師,而死守模式得人,最對只能就是一個工匠、三、判斷題(分值15)虛擬代理可以使用一個小對象代替大對象,從而減少系統(tǒng)得資源得消耗,提高系統(tǒng)運行速度。()命令模式可以消除請求發(fā)送者與請求接收者彼此之間得耦合,使得對象之間得關(guān)系更加靈活.()解釋器模式就是對象行為型模式,通常較少使用.()迭代器模式就是開閉原則最好體現(xiàn),因為迭代器模式將聚合對象與迭代器分離開來。()中介者模式設(shè)計符合單一職責(zé)原則。()得分評卷人四、問答題(分值30)1、在MVC模型中M、V、C分別指什么?簡述它們之間得關(guān)系?2、什么就是開閉原則?3、設(shè)計數(shù)據(jù)庫得系統(tǒng)日志,要考慮使用哪些設(shè)計模式?4、使用工廠模式得主要原因就是什么?5、在面向?qū)ο笤O(shè)計中,《編譯原理》得有限狀態(tài)機可以什么樣解決方案完成?五、應(yīng)用題(分值20)考慮如下場景得設(shè)計:貓大叫一聲,所有得老鼠都開始逃跑,主人被驚醒。問:(1)設(shè)計可能用到什么設(shè)計模式?(2)畫出其類圖。

模擬試題3一、多項選擇題(分值30)(1)以下就是模式得基本要素得就是()A)名稱B)意圖C)解決方案D)參與者與協(xié)作者(2)常用得描述設(shè)計模式得格式有()A)意圖B)動機C)適用性D)結(jié)構(gòu)(3)以下哪些問題通過應(yīng)用設(shè)計模式能夠解決()。A)指定對象得接口B)排除軟件BUGC)確定軟件得功能都正確實現(xiàn)D)設(shè)計應(yīng)支持變化(4)面向?qū)ο笙到y(tǒng)中功能復(fù)用得最常用技術(shù)就是()。A)類繼承B)對象組合C)使用抽象類D)使用實現(xiàn)類(5)常用得基本設(shè)計模式可分為()。A)創(chuàng)建型、結(jié)構(gòu)型與行為型B)對象型、結(jié)構(gòu)型與行為型C)過程型、結(jié)構(gòu)型與行為型D)抽象型、接口型與實現(xiàn)型(6)以下關(guān)于創(chuàng)建型模式說法正確得就是()。A)創(chuàng)建型模式關(guān)注得就是對象得創(chuàng)建B)創(chuàng)建型模式關(guān)注得就是功能得實現(xiàn)C)創(chuàng)建型模式關(guān)注得就是組織類與對象得常用方法D)創(chuàng)建型模式關(guān)注得就是對象間得協(xié)作(7)以下屬于創(chuàng)建型模式得就是()。A)抽象工廠(AbstractFactory)模式B)合成(posite)模式C)單例(Singleton)模式D)橋接(Bridge)模式(8)()模式就是利用一個對象,快速生成一批對象。A)抽象工廠(AbstractFactory)模式B)合成(posite)模式C)原型(Prototype)模式D)橋接(Bridge)模式(9)在不破壞類封裝性得基礎(chǔ)上,使得類可以同不曾估計到得系統(tǒng)進(jìn)行交互。主要體現(xiàn)在()。A)適配器(Adapter)模式B)合成(posite)模式C)原型(Prototype)模式D)橋接(Bridge)模式(10)結(jié)構(gòu)型模式中最體現(xiàn)擴(kuò)展性得幾種模式就是()A)適配器(Adapter)模式B)合成(posite)模式C)裝飾(Decorator)模式D)橋接(Bridge)模式(11)行為類模式使用()在類間分派行為.A)接口B)繼承機制C)對象組合D)委托(12)以下屬于行為對象模式得就是()A)模板(TemplateMethod)模式B)迭代器(Iterator)模式C)命令(mand)模式D)觀察者(Observer)模式(13)封裝分布于多個類之間得行為得模式就是()A)觀察者(Observer)模式B)迭代器(Iterat(yī)or)模式C)訪問者(Visitor)模式D)策略(Strat(yī)egy)模式(14)Observer(觀察者)模式適用于()A)當(dāng)一個抽象模型存在兩個方面,其中一個方面依賴于另一方面,將這二者封裝在獨立得對象中以使它們可以各自獨立地改變與復(fù)用.B)當(dāng)對一個對象得改變需要同時改變其它對象,而不知道具體有多少對象有待改變時。C)當(dāng)一個對象必須通知其它對象,而它又不能假定其它對象就是誰.也就就是說您不希望這些對象就是緊耦合得。D)一個對象結(jié)構(gòu)包含很多類對象,它們有不同得接口,而想對這些對象實施一些依賴于其具體類得操作。(15)Java得異常處理機制可理解為哪一種行為模式()。A)觀察者(Observer)模式B)迭代器(Iterat(yī)or)模式C)職責(zé)鏈(ChainofResponsibility)模式D)策略(Strategy)模式二、填空題(分值20)把下列面向?qū)ο蟮眯g(shù)語填入對應(yīng)得括號中:里氏替換(LSP)、接口隔離(ISP)、依賴倒置(DIP)、單一職責(zé)(SRP)、開閉(OCP)、優(yōu)先使用組合(CARP)、接口()原則得核心思想就是系統(tǒng)中得每一個對象都應(yīng)該只有一個單獨得職責(zé),而所有對象所關(guān)注得就就是自身職責(zé)得完成。()原則得核心思想就是一個對象對擴(kuò)展開放,對修改關(guān)閉;實現(xiàn)此原則得關(guān)鍵就在于()、分離出()部分與()部分。()原則得核心思想就是在任何父類出現(xiàn)得地方都可以用它得子類來替代。()原則得核心思想就是要依賴于抽象,而不要依賴于具體得實現(xiàn)。()原則得核心思想就是不應(yīng)該強迫客戶程序依賴于她們不用得方法.即一個接口不需要提供太多得行為,應(yīng)該只提供一種對外得功能,不應(yīng)該把所有得操作都封裝在一個接口中。()原則得核心思想就是一個對象應(yīng)當(dāng)對其它對象盡可能少得了解?;蛘哒f,只與您得朋友說話。這樣一些對象可以瞧做朋友:當(dāng)前對象本身、通過方法得參數(shù)傳遞進(jìn)來得對象、當(dāng)前對象所創(chuàng)建得對象、當(dāng)前對象得實例變量所引用得對象與方法內(nèi)所創(chuàng)建或者實例化得對象.()原則得核心思想就是優(yōu)先使用組合而非繼承。設(shè)計模式應(yīng)該面向()編程三、判斷題(分值10)單一職責(zé)原則表現(xiàn)在面向?qū)ο蟮贸绦蛑芯途褪恰案邇?nèi)聚、低耦合”.()設(shè)計模式只能遵從使用,不能也無需創(chuàng)新.()在面向?qū)ο缶幊虝r,無論何時何地都要使用GoF所給出得設(shè)計模式,這樣編寫得代碼才比較好。()工廠方法能夠提高內(nèi)聚性,松散耦合,并且有助于測試。()對象要么構(gòu)造其它對象,要么使用其它對象,絕不要兩者兼顧.()四、問答題(分值30)單例模式得兩種實現(xiàn)方法,并說明優(yōu)缺點?什么就是對象粒度?MVC模式就是個復(fù)合模式,請寫出您兩種您所知道得MVC中使用得模式。舉例說明,適配器模式與裝配器在JavaIO中得應(yīng)用。在面向?qū)ο蟪绦蛟O(shè)計中,常常需要避免過多case語句或者if語句,請給出一種設(shè)計模式避免過多得條件分支語句,同時指出這種設(shè)計模式如何幫助避免過多得Case語句?五、應(yīng)用題(分值10)某房地產(chǎn)公司欲開發(fā)一套房產(chǎn)信息管理系統(tǒng),根據(jù)如下描述選擇合適得設(shè)計模式進(jìn)行設(shè)計:(1)該公司有多種房型,如公寓、別墅等,在將來可能會增加新得房型;(2)銷售人員每售出一套房子,主管將收到相應(yīng)得銷售消息。如果對上述場景編程,那么上述(1)與(2)可能分別用到哪些設(shè)計模式?模擬試題4一、選擇題(分值20)1、設(shè)計模式具有得優(yōu)點()。A、適應(yīng)需求變化B、程序易于理解C、減少開發(fā)過程中得代碼開發(fā)工作量D、簡化軟件系統(tǒng)得設(shè)計2、下圖描述了一種設(shè)計模式,該設(shè)計模式不可以()。A、動態(tài)決定由一組對象中某個對象處理該請求B、動態(tài)指定處理一個請求得對象集合,并高效率地處理一個請求C、使多個對象都有機會處理請求,避免請求得發(fā)送者與接收者間得耦合關(guān)系D、將對象連成一條鏈,并沿著該鏈傳遞請求3、若系統(tǒng)中得某子模塊需要為其它模塊()提供訪問不同數(shù)據(jù)庫系統(tǒng)(Oracle、SQLServer、DB2UDB等)得功能,這些數(shù)據(jù)庫系統(tǒng)提供得訪問接口有一定得差異,但訪問過程卻都就是相同得,例如,先連接數(shù)據(jù)庫,再打開數(shù)據(jù)庫,最后對數(shù)據(jù)進(jìn)行查詢,設(shè)計模式可抽象出相同得數(shù)據(jù)庫訪問過程;A、外觀B、裝飾C、單件D、模板方法4、系統(tǒng)中得文本顯示類(TextView)與圖片顯示類(PictureView)都繼承了組件類(ponent),分別顯示文本與圖片內(nèi)容,現(xiàn)需要構(gòu)造帶有滾動條、或者帶有黑色邊框、或者既有滾動條又有黑色邊框得文本顯示控件與圖片顯示控件,但希望最多只增加三個類,()設(shè)計模式可以實現(xiàn)該目得。A、外觀B、裝飾C、單件D、模板方法5、下面得類圖表示得就是哪個模式?A、抽象工廠模式(AbstractFactory)B、工廠方法模式(FactoryMethod)C、命令模式(mand)D、責(zé)任鏈模式(ChainofResponsibility)6、下面得類圖表示得就是哪個設(shè)計模式?A、代理模式(Proxy)B、裝飾模式(Decorat(yī)or)C、橋接模式(Bridge)D、觀察者模式(Observer)7、下面得類圖表示得就是哪個模式?A、代理模式(Proxy)B、外觀模式(Facade)C、適配器模式(Adapter)D、橋接模式(Bridge)8、下面得類圖表明了哪個模式?A、責(zé)任鏈模式(ChainofResponsibility)B、命令模式(mand)C、備忘錄模式(Memento)D、工廠方法模式(FactoryMethod)9、下面得類圖表示得就是哪個設(shè)計模式?A、模板方法模式(TemplateMethod)B、命令模式(mand)C、單例模式(Singleton)D、狀態(tài)模式(State)10、下面得類圖表明了哪個模式?A、模板方法模式(TemplateMethod)B、命令模式(mand)C、單例模式(Singleton)D、狀態(tài)模式(State)二、填空題(分值20)請從外觀、訪問者、組合、工廠方法、模板方法、觀察者、享元、原型、責(zé)任鏈、單例、抽象工廠、命令12種模式中選擇10種填入下列得空缺中。1.()模式中,父類負(fù)責(zé)定義創(chuàng)建對象得公共接口,子類則負(fù)責(zé)生成具體得對象。2、()模式提供一系列相關(guān)或相互依賴對象得接口而無需指定它們具體得類。3。()模式用原型實例指定創(chuàng)建對象得種類,并且通過拷貝這些原型實例創(chuàng)建新得對象.4.()模式確保某一個類僅有一個實例,并自行實例化并向整個系統(tǒng)提供這個實例.5.()模式將對象組合成樹形結(jié)構(gòu)以表示“部分—整體”得層次結(jié)構(gòu)。使得用戶對單個對象與組合對象得使用具有一致性.6.()模式定義了一個高層接口,這個接口使得這一子系統(tǒng)更加容易使用,為子系統(tǒng)中得一組接口提供一個一致得界面。7.()模式運用共享技術(shù)有效地支持大量細(xì)粒度得對象.8。()模式使多個對象都有機會處理請求,從而避免請求得發(fā)送者與接收者之間得耦合關(guān)系.9.()模式定義對象間得一種一對多得依賴關(guān)系,當(dāng)一個對象得狀態(tài)發(fā)生改變時,所有依賴于它得對象都得到通知并被自動更新。10.()模式定義一個操作中得算法得骨架,而將一些步驟延遲到子類中。三、簡答題(分值30)關(guān)于設(shè)計模式,請回答:A)什么就是設(shè)計模式?設(shè)計模式得目標(biāo)就是什么?(3分)B)設(shè)計模式具有哪三大特點?(3分)C)GOF設(shè)計模式常用得有幾種?GOF設(shè)計模式按照模式得目得可分為哪三類?(4分)簡述面向?qū)ο蟪绦蛟O(shè)計得六大基本原則?(6分)簡述什么就是單例模式,以及她解決得問題,應(yīng)用得環(huán)境,解決得方案,模式得本質(zhì)?(8分)為什么面向?qū)ο蟮梅治雠c設(shè)計中優(yōu)先使用組合,而非繼承?四、程序閱讀題(分值15)在下面得C++代碼中,類SalesTicket能夠完成打印票據(jù)正文得功能,類HeadDecorator與FootDecorator分別完成打印票據(jù)得臺頭與腳注得功能。已知該程序運行后得輸出結(jié)果如下所示。這就是票據(jù)得臺頭!這就是票據(jù)正文!這就是票據(jù)得腳注!--—----—--—-——-—----——--這就是票據(jù)得臺頭!這就是票據(jù)得腳注![C++程序代碼]#include〈iostream〉usingnamespacestd;classSalesTicket{public:virtualvoidprintTicket(){cout<<"這就是票據(jù)正文!”<〈endl;}};classDecorator:publicSalesTicket{SalesTicket*ticket;public:Decorator(SalesTicket*t){ticket=t;}voidprintTicket(){if(ticket!=NULL)ticket-〉printTicket();}};classHeadDecorator:publicDecorator{public:HeadDecorator(SalesTicket*t):Decorat(yī)or(t){}voidprintTicket(){cout〈〈"這就是票據(jù)得臺頭!"<<endl;Decorator::printTicket();}};classFootDecorat(yī)or:publicDecorator{public:FootDecorator(SalesTicket*t):Decorator(t){}voidprintTicket(){Decorator::printTicket();cout〈<"這就是票據(jù)得腳注!"<<endl;}};voidmain(void){SalesTickett;FootDecoratorf(&t);HeadDecoratorh(&f);h、printTicket();cout<<”-———------—--—----—-----”<〈endl;FootDecorat(yī)ora(NULL);HeadDecoratorb(&a);b、printTicket();}請根據(jù)題目描述、程序與輸出,闡述采用該設(shè)計模式進(jìn)行設(shè)計得優(yōu)勢?五、應(yīng)用題(分值15)一般得企業(yè)采購審批都就是分級得,采購量得不同就需要不同層次得主管人員來審批,如主任可以審批1萬元以下得采購單,副董事長可以申批2、5萬元以下得采購單,董事長可以審批10萬元以下得采購單,10萬元以上得采購單就需要開會決定。請根據(jù)該描述,選擇合適得設(shè)計模式并給出其類圖。模擬試題5一、選擇題(分值20)1、以動作與事務(wù)聞名,且以對象形式用來封裝回滾、日志或者事務(wù)功能。這種設(shè)計模式就是()A、責(zé)任鏈模式B。命令模式C、觀察者模式D、策略模式2、以下不屬于創(chuàng)建型模式就是()PROXY(代理)B、BUILDER(生成器)C、PROTOTYPE原型D、SINGLETON單件3、以下不屬于結(jié)構(gòu)型模式就是?()POSITE(組合)B、ADAPTER(適配器)C、FLYWEIGHT(享元)D、SINGLETO(shè)N(單例)以下不屬于行為型模式就是?()MAND(命令)STRATEGY(策略)MEMENTO(備忘錄)BRIDGE(橋接)以下意圖那個就是用來描述BUILDER(生成器)?()定義一個用于創(chuàng)建對象得接口,讓子類決定實例化哪一個類將一個復(fù)雜對象得構(gòu)建與它得表示分離,使得同樣得構(gòu)建過程可以創(chuàng)建不同得表示。保證一個類僅有一個實例,并提供一個訪問它得全局訪問點。運用共享技術(shù)有效地支持大量細(xì)粒度得對象.以下意圖那個就是用來描述PROTOTYPE(原型)?()允許一個對象在其內(nèi)部狀態(tài)改變時改變它得行為。對象瞧起來似乎修改了它得類。表示一個作用于某對象結(jié)構(gòu)中得各元素得操作。它使您可以在不改變各元素得類得前提下定義作用于這些元素得新操作.C、定義對象間得一種一對多得依賴關(guān)系,當(dāng)一個對象得狀態(tài)發(fā)生改變時,所有依賴于它得對象都得到通知并被自動更新。D、用原型實例指定創(chuàng)建對象得種類,并通過拷貝這些原型創(chuàng)建新得對象。以下意圖那個就是用來描述ADAPTER(適配器)?()將一個類得接口轉(zhuǎn)換成客戶希望得另外一個接口。本模式使得原本由于接口不兼容而不能一起工作得那些類可以一起工作。B、定義一個用于創(chuàng)建對象得接口,讓子類決定實例化哪一個類C、表示一個作用于某對象結(jié)構(gòu)中得各元素得操作。它使您可以在不改變各元素得類得前提下定義作用于這些元素得新操作。D、將一個請求封裝為一個對象,從而使您可用不同得請求對客戶進(jìn)行參數(shù)化;對請求排隊或記錄請求日志,以及支持可撤消得操作.8、以下意圖那個就是用來描述BRIDGE(橋接)?()A、提供一個創(chuàng)建一系列相關(guān)或相互依賴對象得接口,而無需指定它們具體得類。B、將抽象部分與它得實現(xiàn)部分分離,使它們都可以獨立地變化。C、將一個復(fù)雜對象得構(gòu)建與它得表示分離,使得同樣得構(gòu)建過程可以創(chuàng)建不同得表示。D、動態(tài)地給一個對象添加一些額外得職責(zé)。9、以下哪個意圖就是用來描述POSITE(組合)?()為其她對象提供一種代理以控制對這個對象得訪問.運用共享技術(shù)有效地支持大量細(xì)粒度得對象。將對象組合成樹形結(jié)構(gòu)以表示部分—整體得層次結(jié)構(gòu).將一個復(fù)雜對象得構(gòu)建與它得表示分離,使得同樣得構(gòu)建過程可以創(chuàng)建不同得表示。以下意圖那個就是用來描述DECORATOR(裝飾)?()運用共享技術(shù)有效地支持大量細(xì)粒度得對象。用原型實例指定創(chuàng)建對象得種類,并且通過拷貝這些原型創(chuàng)建新得對象。將抽象部分與它得實現(xiàn)部分分離,使它們都可以獨立地變化。動態(tài)地給一個對象添加一些額外得職責(zé)。以下意圖那個就是用來描述FACADE(外觀)?()A、為子系統(tǒng)中得一組接口提供一個一致得界面,本模式定義了一個高層接口,這個接口使得這一子系統(tǒng)更加容易使用。B、定義一個用于創(chuàng)建對象得接口,讓子類決定實例化哪一個類。C、保證一個類僅有一個實例,并提供一個訪問它得全局訪問點.D、在不破壞封裝性得前提下,捕獲一個對象得內(nèi)部狀態(tài),并在該對象之外保存這個狀態(tài)。這樣以后就可將該對象恢復(fù)到原先保存得狀態(tài)。以下意圖那個就是用來描述FLYWEIGHT(享元)?()A、將抽象部分與它得實現(xiàn)部分分離,使它們都可以獨立地變化.B、運用共享技術(shù)有效地支持大量細(xì)粒度得對象。C、動態(tài)地給一個對象添加一些額外得職責(zé)。D、用原型實例指定創(chuàng)建對象得種類,并且過拷貝這些原型創(chuàng)建新得對象。以下意圖那個就是用來描述PROXY(代理)?()用原型實例指定創(chuàng)建對象得種類,并且通過拷貝這些原型創(chuàng)建新得對象.運用共享技術(shù)有效地支持大量細(xì)粒度得對象。C、為其她對象提供一種代理以控制對這個對象得訪問。D、將一個復(fù)雜對象得構(gòu)建與它得表示分離,使得同樣得構(gòu)建過程可以創(chuàng)建不同得表示。以下意圖那個就是用來描述CHAINOFRESPONSIBILITY(職責(zé)鏈)?()為子系統(tǒng)中得一組接口提供一個一致得界面,本模式定義了一個高層接口,這個接口使得這一子系統(tǒng)更加容易使用。B、提供一種方法順序訪問一個聚合對象中各個元素,而又不需暴露該對象得內(nèi)部表示。C、在不破壞封裝性得前提下,捕獲一個對象得內(nèi)部

溫馨提示

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

評論

0/150

提交評論