版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
設(shè)計模式期中考試試題一:單項(xiàng)選擇(共20道,每道2分)1、設(shè)計模式一般用來解決什么樣的問題()A.同一問題的不同表相B不同問題的同一表相C.不同問題的不同表相D.以上都不是2、下列屬于面向?qū)ο蠡驹瓌t的是()A.繼承B.封裝C.里氏代換D都不是3、Open-Close原則的含義是一個軟件實(shí)體()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、要依賴于抽象,不要依賴于具體。即針對接口編程,不要針對實(shí)現(xiàn)編程,是()的表述A.開-閉原則B.接II隔離原則C.里氏代換原則D.依賴倒轉(zhuǎn)原則6、設(shè)計模式的兩大主題是()A.系統(tǒng)的維護(hù)與開發(fā) B對象組合與類的繼承C.系統(tǒng)架構(gòu)與系統(tǒng)開發(fā)D.系統(tǒng)更用與系統(tǒng)擴(kuò)展7、“不要和陌生人說話”是()原則的通俗表述A.接II隔離B.里氏代換C.依賴倒轉(zhuǎn)D.迪米特:一個對象應(yīng)對其他對象盡可能少的了解8、構(gòu)造者的的退化模式是通過合并( )角色完成退化的。A.抽象產(chǎn)品B產(chǎn)品C創(chuàng)建者D使用者9、以下關(guān)于簡單工廠模式敘述錯誤的是(A它屬于GoF23種設(shè)計模式B它是最簡單的設(shè)計模式之一C它是學(xué)習(xí)其他創(chuàng)建型模式的基礎(chǔ)D它只需要記住一個簡單的參數(shù)即可獲得所需對象的實(shí)例E它類中的方法通常為靜態(tài)方法F它返回的類都有一個公共的父類和公共的方法10、對象適配器模式是( )原則的典型應(yīng)用。A.合成聚合及用原則B.里式代換原則C.依賴倒轉(zhuǎn)原則 D.迪米特法則D.以上表述全部錯誤。.對于依賴倒轉(zhuǎn)的表述錯誤的是( )A.依賴于抽象而不依賴于具體,也就是針對接II編程。B.依賴倒轉(zhuǎn)的接口并非語法意義上的接II,而是,一個類對其他對象進(jìn)行調(diào)用時,所知道的方法集合。C.從選項(xiàng)B的角度論述,一個對象可以有多個接口。D.實(shí)現(xiàn)了同一接II的對象,可以在運(yùn)行期間,順利地進(jìn)行替換。而且不必知道所示用的對象是那個實(shí)現(xiàn)類的實(shí)例。E.此題沒有正確答案。.現(xiàn)有5個產(chǎn)品族,分布于3各不同的產(chǎn)品等級結(jié)構(gòu),只要指明一個產(chǎn)品所處的產(chǎn)品族以及它所在的等級結(jié)構(gòu),就可以唯一地確認(rèn)這個產(chǎn)品。那么使用抽象工廠方法模式只需要提供( )個具體工廠即可。A5B3C8D15E1F30G4
.抽象工廠模式的優(yōu)點(diǎn)有( )A抽象工廠模式隔離了具體類的生成,使得客戶并不需要知道什么被創(chuàng)建。B所有的具體工廠都實(shí)現(xiàn)了抽象工廠中定義的那些公共接II,因此只需改變具體工廠的實(shí)例,就可以在某種程度上改變整個軟件系統(tǒng)的行為。C應(yīng)用抽象工廠模式可以實(shí)現(xiàn)高內(nèi)聚低耦合的設(shè)計目的,因此抽象工廠模式得到了廣泛的應(yīng)用。D增加新的具體工廠和產(chǎn)品族很方便,無須修改已有系統(tǒng),符合“開閉原則”。E添加新的產(chǎn)品對象時,難以擴(kuò)展抽象工廠來生產(chǎn)新種類的產(chǎn)品F開閉原則的傾斜性(增加新的工廠和產(chǎn)品族容易,增加新的產(chǎn)品等級結(jié)構(gòu)麻煩).對于建造一輛汽車,使用建造者模式中ConcreteBulider(具體建造者)需要做的是()A提供汽車的各個部件的構(gòu)造和裝配方法建造汽車CA提供汽車的各個部件的構(gòu)造和裝配方法建造汽車C建造汽車部件并且組合成汽車指揮汽車建造E定義抽象接II15單例模式的最主要的思想是( )A構(gòu)造方法私有化 B使用默認(rèn)構(gòu)造方構(gòu)造方法靜態(tài)化A構(gòu)造方法私有化 B使用默認(rèn)構(gòu)造方構(gòu)造方法靜態(tài)化D類私有化E類不允許被繼承F類的方法不允許被訪問.在筆記本電腦用電的例子中,屬于適配器的是( )A充電器B插座C筆記本D筆記本電源插孔.橋接模式將繼承關(guān)系轉(zhuǎn)換為( )關(guān)系,從而降低了類與類之間的耦合,減少了代碼編寫量A關(guān)聯(lián)B多態(tài)C實(shí)現(xiàn)D重構(gòu)E抽象.組合模式描述了如何將容器對象和葉子對象進(jìn)行( )組合,使得用戶在使用時無須對它們進(jìn)行區(qū)分,可以一致地對待容器對象和葉子對象A遞歸B重構(gòu)C并列D內(nèi)置E關(guān)聯(lián).面向?qū)ο笤O(shè)計原則首先都是( )的原則,遵循這些設(shè)計原則可以有效地提高系統(tǒng)的匆用性,同時提高系統(tǒng)的可維護(hù)性。A重載B復(fù)用C面向?qū)ο驞封裝E繼承F多態(tài)G抽象.結(jié)構(gòu)型模式分為類模式和對象模式,以下可以是類模式的是( )A適配器模式B橋接模式C組合模式D裝飾模式E外觀模式 F享元模式G代理模式-:多項(xiàng)選擇題(共10道,每道3分).以下說法錯誤的有( )A對于面向?qū)ο蟮能浖到y(tǒng)設(shè)計來說,在支持可維護(hù)性的同時,需要提高系統(tǒng)的可復(fù)用性。B迪米特法則要求一個軟件實(shí)體應(yīng)當(dāng)盡可能多的與其他實(shí)體發(fā)生相互作用。C單一職責(zé)原則要求在軟件系統(tǒng)中,一個類只負(fù)貨一個功能領(lǐng)域中的相應(yīng)職責(zé)。D開閉原則要求一個軟件實(shí)體應(yīng)當(dāng)對擴(kuò)展開放,對修改關(guān)閉,但是為了增強(qiáng)系統(tǒng)功能,可以隨便的修改源代碼。E里氏代換原則可以通俗表述為在軟件中如果能夠使用基類對象,那么一定能夠使用其子類對象。F依賴倒轉(zhuǎn)原則要求抽象不應(yīng)該依賴于細(xì)節(jié),細(xì)節(jié)應(yīng)該依賴于抽象;要針對接II編程,不要針對實(shí)現(xiàn)編程。G接II隔離原則要求客戶端不應(yīng)該依賴那些它不需要的接II,即將一些大的接II細(xì)化成一些小的接口供客戶端使用。H合成更用原則要求復(fù)用時盡量使用繼承,而不使用對象組合。TOC\o"1-5"\h\z.設(shè)計模式一般有如下幾個基本要素:模式名稱、問題、目的、解決方案、效果、實(shí)例代碼和相關(guān)設(shè)計模式,其中的關(guān)鍵元素包括以下四個方面( )A模式名稱B問題C目的D解決方案E效果F實(shí)例代碼G相關(guān)設(shè)計模式.簡單工廠模式包含三個角色是( )A工廠角色B抽象產(chǎn)品口 C具體產(chǎn)品角色D抽象接口角色E生產(chǎn)者角色F用戶角色G使用者角色.工廠方法模式與簡單工廠模式相比的優(yōu)點(diǎn)有( )A工廠方法模式很好的符合開閉原則B工廠方法類模式中工廠類職責(zé)變輕,業(yè)務(wù)邏輯相對簡單C具體產(chǎn)品與工廠類之間的耦合降低D工廠方法模式是簡單工廠模式的進(jìn)一步抽象和推廣EFactory類內(nèi)的方法常使用靜態(tài)方法F只提供一個工廠類G不需要考慮對■象的具體創(chuàng)建細(xì)節(jié)閉原則的傾斜性(增加新的工廠和產(chǎn)品族容易,增加新的產(chǎn)品等級結(jié)構(gòu)麻煩).建造者模式的優(yōu)點(diǎn)有哪些( )A分步驟構(gòu)建一個復(fù)雜的對象B應(yīng)對''復(fù)雜對象各個部分〃的頻繁需求變動C用戶使用不同的具體建造者即可得到不同的產(chǎn)品對象D如果產(chǎn)品的內(nèi)部變化復(fù)雜,可能會導(dǎo)致需要定義很多具體建造者類來實(shí)現(xiàn)這種變化,導(dǎo)致系統(tǒng)變得很龐大E如果產(chǎn)品之間的差異性很大,則不適合使用建造者模式,因此其使用范I韋I受到一定的
限制.對于原型模式的優(yōu)點(diǎn)有( )A當(dāng)創(chuàng)建新的對象實(shí)例較為更雜時,使用原型模式可以簡化對象的創(chuàng)建過程,通過一個已有實(shí)例可以提高新實(shí)例的創(chuàng)建效率。B可以動態(tài)增加或減少產(chǎn)品類。C原型模式提供了簡化的創(chuàng)建結(jié)構(gòu)。D可以使用深克隆的方式保存對象的狀態(tài)。E實(shí)現(xiàn)深克隆時需要編寫較為更雜的代碼。F需要為每一個類配備一個克隆方法.單例模式的要點(diǎn)( )A某個類只能有一個實(shí)例 B必須自行創(chuàng)建這個實(shí)例C必須自行向整個系統(tǒng)提供這個實(shí)例D類的方法不能被訪問E實(shí)例的創(chuàng)建個數(shù)不受限制 F實(shí)例的創(chuàng)建者不受限制.適配器模式的優(yōu)點(diǎn)( )A將目標(biāo)類和適配者類解耦B增加了類的透明性和更用性C靈活性和擴(kuò)展性都非常好,通過使用配置文件,可以很方便地更換適配器D其使用有一定的局限性,不能將一個適配者類和它的子類都適配到目標(biāo)接口。E要想置換適配者類的方法不容易.組合模式包含角色有( )A抽象構(gòu)件 B葉子構(gòu)件 C容器構(gòu)件D客戶類ED客戶類E樹根構(gòu)F枝干構(gòu)件10橋接模式的優(yōu)點(diǎn)(A分離抽象接「I及其實(shí)現(xiàn)部分。B橋接模式提高了系統(tǒng)的可擴(kuò)充性,在兩個變化維度中任意擴(kuò)展一個維度,都不需要修改原有系統(tǒng)。C實(shí)現(xiàn)細(xì)節(jié)又寸客戶透明,可以對用戶隱藏實(shí)現(xiàn)細(xì)節(jié)。D橋接模式的引入會增加系統(tǒng)的理解與設(shè)計難度E橋接模式要求正確識別出系統(tǒng)中兩個獨(dú)立變化的維度,因此其使用范圍具有一定的局限性。三:簡答題(共2道題,每道10分).什么是開—閉原則。.畫出抽象工廠的類圖。四:讀程序題(1道,每道10分)讀下面程序,并指出是何種模型,以及該模型都有那些角色publicclassBird{publicvoidtweedle(){Systemout.pnntln(鳴兒嘰嘰叫!)}publicvoidfly(){System.out.printing鳥兒快快飛!”);}}publicclassBirdAdapterextendsBirdimplementsRobot{publicvoidciy(){Systemout.print("機(jī)器人模仿:*1);super.tweedle();publicvoidmove(){System.out.print("機(jī)器人模仿:");super.fly();}}publicclassDog{publicvoidwang(){System.out.printing狗汪汪叫!");}publicvoidninQ{System.out.printin("狗快快跑!");}}publicclassDogAdapterextendsDogmiplementsRobot{publicvoidcryQSystem.out.print("機(jī)器人模仿:");super.wang();publicvoidmoveQ{System.out.print("機(jī)器人模仿:");super.iunO;}}publicmterfaceRobot{publicvoidciy();publicvoidmove();}publicclassClient{publicstaticvoidniain(Striiigargs[]){Robotiobot=(Robot)XMLUtil.getBeanQ;robot.cry();robot.move();}}unportjavax.xiiil.parsers.*;unportorg.w3c.dom.*;unportorg.xiiil.sax.SAXException;unportjava.io.*;publicclassXMLUtil{〃該方法用于從XML配置文件中提取具體類類名,并返回一個實(shí)例對象publicstaticObjectgetBean(){try{〃創(chuàng)建文檔對象DocumentBuilderFactoiydFactory=DocumentBuildeiFactoiynewIiistaiice();DocumentBuilderbuilder=dFactoiynewDocumentBuilder();Documentdoc;doc=builder.paise(newFile(ncoiifig.xiiil,'));〃獲取包含類名的文本節(jié)點(diǎn)NodeListill=doc.getElementsByTagName(HclassNameH);NodeclassNode=iil.item(0).getFirstCliildO;StiiiigcName=classNode.getNodeValue(
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 初中數(shù)學(xué)幾何問題解決策略的分層教學(xué)設(shè)計課題報告教學(xué)研究課題報告
- 初中化學(xué)家庭實(shí)驗(yàn)課程對學(xué)生科學(xué)精神培養(yǎng)的研究教學(xué)研究課題報告
- 2025年湖北省婦幼保健院信息部工作人員招聘備考題庫完整參考答案詳解
- 福建省閩西南水資源開發(fā)有限責(zé)任公司2025年招聘備考題庫附答案詳解
- 復(fù)旦大學(xué)附屬華東醫(yī)院2026年招聘備考題庫含答案詳解
- 2025年吳川市公開招聘大學(xué)生鄉(xiāng)村醫(yī)生28人備考題庫及完整答案詳解1套
- 2型糖尿病患者遠(yuǎn)期預(yù)后隊列研究策略
- 現(xiàn)代實(shí)景高級漁村建設(shè)工作報告模板
- 麻章區(qū)2025年大學(xué)生鄉(xiāng)村醫(yī)生專項(xiàng)計劃招聘備考題庫參考答案詳解
- 2025年貴州省西能煤炭勘查開發(fā)有限公司招聘17人備考題庫及1套參考答案詳解
- 駕駛員心理健康培訓(xùn)課件
- DBJ50T-306-2018 建設(shè)工程檔案編制驗(yàn)收標(biāo)準(zhǔn)
- 室內(nèi)裝修工程高空作業(yè)方案
- 術(shù)前準(zhǔn)備與術(shù)后護(hù)理指南
- 【基于Java的圖書管理系統(tǒng)的設(shè)計與實(shí)現(xiàn)7600字(論文)】
- 數(shù)據(jù)庫系統(tǒng)基礎(chǔ)教程第三章答案
- 2024年廣東省深圳市中考英語真題含解析
- 從烽火臺到網(wǎng)絡(luò)課件
- 2023中國兒童維生素E、維生素D臨床應(yīng)用專家共識(全文)
- 數(shù)學(xué)六年級上冊-第八單元檢測卷(一)
- 髖關(guān)節(jié)撞擊綜合征診療課件
評論
0/150
提交評論