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

下載本文檔

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

文檔簡(jiǎn)介

1、文檔編碼 : CV6L6N6V10W7 HW2B1V4U8V9 ZW3F8S10V4W7. .總復(fù)習(xí)題復(fù)習(xí)參考資料:1. GoF 設(shè)計(jì)模式2. 設(shè)計(jì)模式解析3. 易學(xué)設(shè)計(jì)模式4. 大話設(shè)計(jì)模式5. 深化淺出設(shè)計(jì)模式以參考資料為主,模擬試題 1-5 中有些題答案在一些附加資料中模擬試題 1 一、 選擇題分值 201. 設(shè)計(jì)模式一般用來(lái)解決什么樣的問(wèn)題 A.同一問(wèn)題的不同表相 B 不同問(wèn)題的同一表相C.不同問(wèn)題的不同表相 D.以上都不是2. 以下屬于面對(duì)對(duì)象根本原那么的是 A.繼承 B.封裝 C.里氏代換 D 都不是3. Open-Close 原那么的含義是一個(gè)軟件實(shí)體 A.應(yīng)當(dāng)對(duì)擴(kuò)開(kāi)放放,對(duì)修改

2、關(guān)閉 . B.應(yīng)當(dāng)對(duì)修改開(kāi)放,對(duì)擴(kuò)展關(guān)閉C.應(yīng)當(dāng)對(duì)繼承開(kāi)放,對(duì)修改關(guān)閉D.以上都不對(duì)4. 當(dāng)我們想創(chuàng)立一個(gè)具體的對(duì)象而又不期望指定具體的類時(shí),可以使用模式;A.創(chuàng)立型 B.構(gòu)造型 C 行為型 D.以上都可以5. 要依靠于抽象,不要依靠于具體;即針對(duì)接口編程,不要針對(duì)實(shí)現(xiàn)編程 ,是 的表述A. 開(kāi)-閉原那么B. 接口隔離原那么C. 里氏代換原那么D. 依靠倒轉(zhuǎn)原那么6. 依據(jù)設(shè)計(jì)模式思想 ,程序開(kāi)發(fā)中應(yīng)優(yōu)先使用的是 關(guān)系實(shí)現(xiàn)復(fù)用;A, 委派 B.繼承 C 創(chuàng)立 D.以上都不對(duì)7. 設(shè)計(jì)模式的兩大主題是 A.系統(tǒng)的愛(ài)護(hù)與開(kāi)發(fā) B 對(duì)象組合與類的繼承C.系統(tǒng)架構(gòu)與系統(tǒng)開(kāi)發(fā) D. 系統(tǒng)復(fù)用與系統(tǒng)擴(kuò)展8

3、. 單體模式中 ,兩個(gè)根本要點(diǎn) 和單體類自己供應(yīng)單例A .構(gòu)造函數(shù)私有 B.唯獨(dú)實(shí)例C.靜態(tài)工廠方法 D. 以上都不對(duì)9. 以下模式中 ,屬于行為模式的是 A.工廠模式 B 觀看者 C 適配器 以上都是10. “ 不要和生疏人說(shuō)話是 原那么的通俗表述. .word.zl.A.接口隔離B.里氏代換C.依靠倒轉(zhuǎn). .D.迪米特二、 填空題分值201. 軟件體系構(gòu)造是指一個(gè)系統(tǒng)的有目的的設(shè)計(jì)和規(guī)劃,這個(gè)設(shè)計(jì)規(guī)劃既不描述,也不描述,它只描述系統(tǒng)的及其相互的;2一個(gè) UML 模型只描述了一個(gè)系統(tǒng),它并沒(méi)告知我們系統(tǒng)是;3接口是可以在整個(gè)模型中反復(fù)使用的一組行為,是一個(gè)沒(méi)有而只有的類;4多重性指的是,某個(gè)

4、類有個(gè)對(duì)象可以和另一個(gè)類的對(duì)象關(guān)聯(lián);5當(dāng)一個(gè)類的對(duì)象可以充當(dāng)多種角色時(shí),關(guān)聯(lián)就可能發(fā)生;6在泛化關(guān)系中,可以替代;也就是說(shuō),后者顯現(xiàn)的地方,前者都可以顯現(xiàn);但是反過(guò)來(lái)卻不成立;7最通常的依靠關(guān)系是一個(gè)類操作的中用到了的定義;8組成是的集合,由于集合中的每個(gè)局部體只能屬于整體;9實(shí)現(xiàn)的符號(hào)和繼承的符號(hào)有相像之處,兩者的唯獨(dú)差異是實(shí)現(xiàn)關(guān)系用表示,繼承關(guān)系用表示;10. 設(shè)計(jì)模式中應(yīng)優(yōu)先使用而不是;三、 判定題分值 151. 適配器模式屬于創(chuàng)立型模式2. 在設(shè)計(jì)模式中, “ 成效只是指“ 緣由和結(jié)果3. 設(shè)計(jì)模式使代碼編制不能真正工程化4. 面對(duì)對(duì)象語(yǔ)言編程中的反常處理,可以懂得為責(zé)任鏈模式5. 反

5、模式就是反對(duì)在軟件開(kāi)發(fā)過(guò)程中使用設(shè)計(jì)模式四、問(wèn)答題分值 301. 什么是設(shè)計(jì)模式?設(shè)計(jì)模式目標(biāo)是什么?2. 設(shè)計(jì)模式中一般都遵循的原那么有什么?3.“ Gang of Four 針對(duì)“ 創(chuàng)立優(yōu)秀面對(duì)對(duì)象設(shè)計(jì)建議了哪些策略?4. 面對(duì)對(duì)象系統(tǒng)中功能復(fù)用的兩種最常用技術(shù)是什么?5. 只依據(jù)抽象類中定義的接口來(lái)操縱對(duì)象有什么好處?五、應(yīng)用題分值 15公司架構(gòu):經(jīng)理、工程師、技師和后勤人員都是公司的雇員,經(jīng)理治理工程師、技師和后勤人員;高層經(jīng)理領(lǐng)導(dǎo)較低級(jí)別的經(jīng)理;典型層次圖如下:. .word.zl. .可以使用哪種設(shè)計(jì)模式實(shí)現(xiàn)公司的層級(jí)關(guān)系?并說(shuō)明為什么?模擬試題 2 一、 選擇題分值 201. 在

6、觀看者模式中,表述錯(cuò)誤的選項(xiàng)是A. 觀看者角色的更新是被動(dòng)的;B. 被觀看者可以通知觀看者進(jìn)展更新 C. 觀看者可以轉(zhuǎn)變被觀看者的狀態(tài),再由被觀看者通知全部觀看者依據(jù)被觀看者的狀態(tài)進(jìn) 展;D. 以上表述全部錯(cuò)誤;2. 對(duì)于違反里式代換原那么的兩個(gè)類,可以接受的候選解決方案錯(cuò)誤的選項(xiàng)是:A. 創(chuàng)立一個(gè)新的抽象類 C,作為兩個(gè)具體類的超類,將 A 和 B 共同的行為移動(dòng)到 C 中,從 而解決 A 和 B 行為不完全一樣的問(wèn)題;B. 將 B 到 A 的繼承關(guān)系改組成委派關(guān)系;C. 區(qū)分是 “ IS-a仍是 Has a;假如是 “Is-a,可以使用繼承關(guān)系,假如是 Hasa應(yīng)當(dāng)改成委派關(guān)系D. 以上方

7、案錯(cuò)誤 3. 以下模式屬于構(gòu)造型設(shè)計(jì)模式的是A. posite B. 享元 Flyweight模式 C. 單體模式 D. 工廠方法4. 關(guān)于繼承表述錯(cuò)誤的選項(xiàng)是:A. 繼承是一種通過(guò)擴(kuò)展一個(gè)已有對(duì)象的實(shí)現(xiàn),從而獲得新功能的復(fù)用方法;B. 泛化類超類可以顯式地捕獲那些公共的屬性和方法;特殊類子類那么通過(guò)附加 屬性和方法來(lái)進(jìn)展實(shí)現(xiàn)的擴(kuò)展;C. 破壞了封裝性,由于這會(huì)將父類的實(shí)現(xiàn)細(xì)節(jié)暴露給子類;D. 繼承本質(zhì)上是“ 白盒復(fù)用,對(duì)父類的修改,不會(huì)影響到子類;5. 對(duì)于依靠倒轉(zhuǎn)的表述錯(cuò)誤的選項(xiàng)是A. 依靠于抽象而不依靠于具體,也就是針對(duì)接口編程;B. 依靠倒轉(zhuǎn)的接口并非語(yǔ)法意義上的接口,而是一個(gè)類對(duì)其他

8、對(duì)象進(jìn)展調(diào)用時(shí),所知道的方法集合;C. 從選項(xiàng) B 的角度論述,一個(gè)對(duì)象可以有多個(gè)接口;D. 實(shí)現(xiàn)了同一接口的對(duì)象,可以在運(yùn)行期間,順當(dāng)?shù)剡M(jìn)展替換;而且不必知道所用的對(duì)象 是那個(gè)實(shí)現(xiàn)類的實(shí)例;E. 此題沒(méi)有正確答案;6. 可以使用哪一種設(shè)計(jì)模式限制類的實(shí)例唯獨(dú)?A. 工廠方法 B. 生成器模式 C. 原型模式 D單體模式7. Java數(shù)據(jù)庫(kù)連接庫(kù)JDBC 用到哪種設(shè)計(jì)模式?.word.zl. . .A. 生成器B.工廠方法C.抽象工廠D單體8. 關(guān)于運(yùn)用 GOF 工廠方法的成效Consequences,說(shuō)法不正確的選項(xiàng)是A. 將客戶代碼與應(yīng)用相關(guān)的類解耦B. 它使得所涉及的產(chǎn)品系列可替換C.

9、它有利于產(chǎn)品的一樣性D它較易于支持新種類的產(chǎn)品8. 在應(yīng)用程序中可用哪些設(shè)計(jì)模式別離出算法?A. 工廠方法B. 策略模式C. 拜望者模式D. 裝飾器模式9. 工廠方法也稱為A. 抽象工廠B. 抽象構(gòu)造器C. 虛工廠D. 虛構(gòu)造器10. 可以使用哪種設(shè)計(jì)模式將抽象和實(shí)現(xiàn)解耦,使得抽象和實(shí)現(xiàn)可以單獨(dú)變化?A. 適配器模式B橋接模式C. 外觀模式D組合橋接模式二、 填空題分值 201. 面對(duì)對(duì)象的七條根本原那么包括:開(kāi)閉原那么,里式代換原那么,合成聚合原那么以及,;2. 在存在繼承關(guān)系的情形下,方法向方向集中,而數(shù)據(jù)向方向集中;3. 適配器模式,分為類的適配器和對(duì)象的適配器兩種實(shí)現(xiàn);其中類的適配器接

10、受的是關(guān)系,而對(duì)象適配器接受的是關(guān)系;4. 設(shè)計(jì)模式的四個(gè)根本要素是,和;5. .創(chuàng)立型模式的根本意圖是要把和的責(zé)任進(jìn)展別離,從而降低系統(tǒng)的;6. 工廠模式分為 ,三種類型;7. 門(mén)面模式是 法那么的典型運(yùn)用8. MVC 模型的根本工作原理是基于 模式,實(shí)現(xiàn)是基于模式9. 設(shè)計(jì)模式的思想根源是 根本原那么的宏觀運(yùn)用 ,本質(zhì)上是沒(méi)有任何模式的 ,發(fā)覺(jué)模式的人永久是大師 ,而死守模式的人 ,最對(duì)只能是一個(gè)工匠 . 三、判定題分值 151. 虛擬代理可以使用一個(gè)小對(duì)象代替大對(duì)象,從而削減系統(tǒng)的資源的消耗,提高系統(tǒng)運(yùn)行速度;2. 命令模式可以排除請(qǐng)求發(fā)送者與請(qǐng)求接收者彼此之間的耦合,使得對(duì)象之間的關(guān)系

11、更加靈敏;3. 說(shuō)明器模式是對(duì)象行為型模式,通常較少使用;. .word.zl.4. 5. .迭代器模式是開(kāi)閉原那么最好表達(dá),由于迭代器模式將聚合對(duì)象和迭代器別離開(kāi)來(lái);中介者模式設(shè)計(jì)符合單一職責(zé)原那么;得分評(píng)卷人四、問(wèn)答題分值301. 在 MVC 模型中 M、V、 C 分別指什么?簡(jiǎn)述它們之間的關(guān)系?2. 什么是開(kāi)閉原那么?3. 設(shè)計(jì)數(shù)據(jù)庫(kù)的系統(tǒng)日志,要考慮使用哪些設(shè)計(jì)模式?4. 使用工廠模式的主要緣由是什么?5. 在面對(duì)對(duì)象設(shè)計(jì)中,.編譯原理 .的有限狀態(tài)機(jī)可以什么樣解決方案完成?五、應(yīng)用題分值 20考慮如下場(chǎng)景的設(shè)計(jì):貓大叫一聲,全部的老鼠都開(kāi)場(chǎng)逃跑,主人被驚醒;問(wèn):1設(shè)計(jì)可能用到什么設(shè)計(jì)

12、模式?2畫(huà)出其類圖;模擬試題 3 一、 多項(xiàng)選擇題分值30 ;1以下是模式的根本要素的是A名稱B意圖C解決方案D參與者和協(xié)作者2常用的描述設(shè)計(jì)模式的格式有A意圖B動(dòng)機(jī)C適用性 D構(gòu)造3以下哪些問(wèn)題通過(guò)應(yīng)用設(shè)計(jì)模式能夠解決A指定對(duì)象的接口 B排除軟件 BUG C確定軟件的功能都正的確現(xiàn) D設(shè)計(jì)應(yīng)支持變化4面對(duì)對(duì)象系統(tǒng)中功能復(fù)用的最常用技術(shù)是;A類繼承 B對(duì)象組合 C使用抽象類 D使用實(shí)現(xiàn)類5常用的根本設(shè)計(jì)模式可分為;A創(chuàng)立型、構(gòu)造型和行為型 B對(duì)象型、構(gòu)造型和行為型 C過(guò)程型、構(gòu)造型和行為型 D抽象型、接口型和實(shí)現(xiàn)型. .word.zl.6以下關(guān)于創(chuàng)立型模式說(shuō)確的是;. .A創(chuàng)立型模式關(guān)注的是對(duì)

13、象的創(chuàng)立 B創(chuàng)立型模式關(guān)注的是功能的實(shí)現(xiàn) C創(chuàng)立型模式關(guān)注的是組織類和對(duì)象的常用方法 D創(chuàng)立型模式關(guān)注的是對(duì)象間的協(xié)作7以下屬于創(chuàng)立型模式的是;A抽象工廠 Abstract Factory模式 B合成 posite模式 C單例 Singleton模式 D橋接 Bridge模式8 模式是利用一個(gè)對(duì)象,快速生成一批對(duì)象;A抽象工廠 Abstract Factory模式 B合成 posite模式 C原型 Prototype模式 D橋接 Bridge模式9在不破壞類封裝性的根底上,使得類可以同不曾估量到的系統(tǒng)進(jìn)展交互;主要表達(dá)在 ;A適配器 Adapter模式 B合成 posite模式 C原型 Pro

14、totype模式 D橋接 Bridge模式10構(gòu)造型模式中最表達(dá)擴(kuò)展性的幾種模式是 A適配器 Adapter模式 B合成 posite模式 C裝飾 Decorator模式 D橋接 Bridge模式11行為類模式使用在類間分派行為;A接口 B繼承機(jī)制 C對(duì)象組合 D托付12以下屬于行為對(duì)象模式的是 A模板 Template Method模式 B迭代器 Iterator模式 C命令 mand模式 D觀看者 Observer模式13封裝分布于多個(gè)類之間的行為的模式是 A觀看者 Observer模式 B迭代器 Iterator模式 C拜望者 Visitor 模式 D策略 Strategy模式14Obs

15、erver觀看者模式適用于 A當(dāng)一個(gè)抽象模型存在兩個(gè)方面,其中一個(gè)方面依靠于另一方面,將這二者封裝在獨(dú) 立的對(duì)象中以使它們可以各自獨(dú)立地轉(zhuǎn)變和復(fù)用;. .word.zl. .B當(dāng)對(duì)一個(gè)對(duì)象的轉(zhuǎn)變需要同時(shí)轉(zhuǎn)變其它對(duì)象,而不知道具體有多少對(duì)象有待轉(zhuǎn)變時(shí);C當(dāng)一個(gè)對(duì)象必需通知其它對(duì)象,而它又不能假定其它對(duì)象是誰(shuí);也就是說(shuō)你不期望這些對(duì)象是緊耦合的;D一個(gè)對(duì)象構(gòu)造包含很多類對(duì)象,它們有不同的接口,而想對(duì)這些對(duì)象實(shí)施一些依靠于其具體類的操作;15Java的反常處理機(jī)制可懂得為哪一種行為模式;A觀看者 Observer模式B迭代器 Iterator模式C職責(zé)鏈 Chain of Responsibilit

16、y模式D 策略 Strategy模式二、 填空題分值 20把以下面對(duì)對(duì)象的術(shù)語(yǔ)填入對(duì)應(yīng)的括號(hào)中:里氏替換LSP、接口隔離ISP、依靠倒置DIP 、單一職責(zé) SRP、開(kāi)閉 OCP、優(yōu)先使用組合CARP、接口1.原那么的核心思想是系統(tǒng)中的每一個(gè)對(duì)象都應(yīng)當(dāng)只有一個(gè)單獨(dú)的職責(zé),而所有對(duì)象所關(guān)注的就是自身職責(zé)的完成;2.原那么的核心思想是一個(gè)對(duì)象對(duì)擴(kuò)開(kāi)放放,對(duì)修改關(guān)閉;實(shí)現(xiàn)此原那么的關(guān)鍵就在于、別離出局部和局部;3.原那么的核心思想是在任何父類顯現(xiàn)的地方都可以用它的子類來(lái)替代;4.原那么的核心思想是要依靠于抽象,而不要依靠于具體的實(shí)現(xiàn);5.原那么的核心思想是不應(yīng)當(dāng)強(qiáng)迫客戶程序依靠于他們不用的方法;即一個(gè)

17、接口不需要供應(yīng)太多的行為,應(yīng)當(dāng)只供應(yīng)一種對(duì)外的功能,不應(yīng)當(dāng)把全部的操作都封裝在一個(gè)接口中;6.原那么的核心思想是一個(gè)對(duì)象應(yīng)當(dāng)對(duì)其它對(duì)象盡可能少的明白;或者說(shuō),只和你的伴侶說(shuō)話;這樣一些對(duì)象可以看做伴侶:當(dāng)前對(duì)象本身、通過(guò)方法的參數(shù)傳遞進(jìn)來(lái)的對(duì)象、當(dāng)前對(duì)象所創(chuàng)立的對(duì)象、當(dāng)前對(duì)象的實(shí)例變量所引用的對(duì)象和方法所創(chuàng)立或者實(shí)例化的對(duì)象;7.原那么的核心思想是優(yōu)先使用組合而非繼承;8. 設(shè)計(jì)模式應(yīng)當(dāng)面對(duì)編程三、 判定題分值 101. 單一職責(zé)原那么表現(xiàn)在面對(duì)對(duì)象的程序中就是“ 高聚、低耦合; 2. 設(shè)計(jì)模式只能遵從使用,不能也無(wú)需創(chuàng)新; 3. 在面對(duì)對(duì)象編程時(shí),無(wú)論何時(shí)何地都要使用 GoF 所給出的設(shè)計(jì)模

18、式,這樣編寫(xiě)的代碼才比擬好; 4. 工廠方法能夠提高聚性,松散耦合,并且有助于測(cè)試; 5. 對(duì)象要么構(gòu)造其它對(duì)象,要么使用其它對(duì)象,絕不要兩者兼顧; 四、問(wèn)答題分值 301. 單例模式的兩種實(shí)現(xiàn)方法,并說(shuō)明優(yōu)缺點(diǎn)?2. 什么是對(duì)象粒度?3. MVC 模式是個(gè)復(fù)合模式,請(qǐng)寫(xiě)出你兩種你所知道的 MVC 中使用的模式;. .word.zl. .4. 舉例說(shuō)明,適配器模式和裝配器在 Java IO 中的應(yīng)用;5. 在面對(duì)對(duì)象程序設(shè)計(jì)中,常常需要防止過(guò)多 case語(yǔ)句或者 if 語(yǔ)句,請(qǐng)給出一種設(shè)計(jì)模式防止過(guò)多的條件分支語(yǔ)句,同時(shí)指出這種設(shè)計(jì)模式如何幫忙防止過(guò)多的 Case語(yǔ)句?五、應(yīng)用題分值 10某房

19、地產(chǎn)公司欲開(kāi)發(fā)一套房產(chǎn)信息治理系統(tǒng),依據(jù)如下描述選擇適宜的設(shè)計(jì)模式進(jìn)展設(shè)計(jì):1 該公司有多種房型,如公寓、別墅等,在將來(lái)可能會(huì)增加新的房型;2 銷售人員每售出一套房子,主管將收到相應(yīng)的銷售消息;假如對(duì)上述場(chǎng)景編程,那么上述模擬試題 4 一、 選擇題分值 201和 2可能分別用到哪些設(shè)計(jì)模式?1. 設(shè)計(jì)模式具有的優(yōu)點(diǎn) ;A. 適應(yīng)需求變化B. 程序易于懂得C. 削減開(kāi)發(fā)過(guò)程中的代碼開(kāi)發(fā)工作量D. 簡(jiǎn)化軟件系統(tǒng)的設(shè)計(jì)2. 以下圖描述了一種設(shè)計(jì)模式,該設(shè)計(jì)模式不行以 ;A. 動(dòng)態(tài)準(zhǔn)備由一組對(duì)象中某個(gè)對(duì)象處理該請(qǐng)求B. 動(dòng)態(tài)指定處理一個(gè)請(qǐng)求的對(duì)象集合, 并高效率地處理一個(gè)請(qǐng)求C. 使多個(gè)對(duì)象都有時(shí)機(jī)處

20、理請(qǐng)求,防止請(qǐng)求的發(fā)送者和接收者間的耦合關(guān)系 D. 將對(duì)象連成一條鏈,并沿著該鏈傳遞請(qǐng)求3.假設(shè)系統(tǒng)中的某子模塊需要為其它模塊 供應(yīng)拜望不同數(shù)據(jù)庫(kù)系統(tǒng)Oracle、SQL Server、DB2 UDB 等的功能,這些數(shù)據(jù)庫(kù)系統(tǒng)供應(yīng)的拜望接口有確定的差異,但拜望過(guò) 程卻都是一樣的,例如,先連接數(shù)據(jù)庫(kù),再翻開(kāi)數(shù)據(jù)庫(kù),最終對(duì)數(shù)據(jù)進(jìn)展查詢,設(shè)計(jì)模式可抽象出一樣的數(shù)據(jù)庫(kù)拜望過(guò)程;A. 外觀B. 裝飾C. 單件D. 模板方法.word.zl. . .4.系統(tǒng)中的文本顯示類TextView 和圖片顯示類 PictureView都繼承了組件類 ponent,分別顯示文本和圖片容,現(xiàn)需要構(gòu)造帶有滾動(dòng)條、或者帶有

21、黑色邊框、或者既有滾動(dòng)條又有黑色邊框的文本顯示控件和圖片顯示控件,但期望最多只增加三個(gè)類, 設(shè)計(jì)模式可以實(shí)現(xiàn)該目的;A. 外觀 B. 裝飾C. 單件D. 模板方法5.下面的類圖表示的是哪個(gè)模式?A. 抽象工廠模式 Abstract Factory B. 工廠方法模式 Factory Method C. 命令模式 mand D. 責(zé)任鏈模式 Chain of Responsibility 6.下面的類圖表示的是哪個(gè)設(shè)計(jì)模式?A. 代理模式 ProxyB. 裝飾模式 DecoratorC. 橋接模式 BridgeD. 觀看者模式 Observer7.下面的類圖表示的是哪個(gè)模式?. .word.zl

22、. .A. 代理模式 ProxyB. 外觀模式 FacadeC. 適配器模式 AdapterD. 橋接模式 Bridge8.下面的類圖說(shuō)明白哪個(gè)模式?A. 責(zé)任鏈模式 Chain of Responsibility B. 命令模式 mand C. 備忘錄模式 MementoD. 工廠方法模式Factory Method9.下面的類圖表示的是哪個(gè)設(shè)計(jì)模式?A. 模板方法模式 Template Method B. 命令模式 mand C. 單例模式 Singleton D. 狀態(tài)模式 State 10. 下面的類圖說(shuō)明白哪個(gè)模式?. .word.zl. .A. 模板方法模式 Template Me

23、thod B. 命令模式 mand C. 單例模式 Singleton D. 狀態(tài)模式 State 二、 填空題分值 20請(qǐng)從外觀、拜望者、組合、工廠方法、模板方法、觀看者、享元、原型、責(zé)任鏈、單例、抽象工廠、命令 12 種模式中選擇 10 種填入以下的空缺中;1模式中,父類負(fù)責(zé)定義創(chuàng)立對(duì)象的公共接口,子類那么負(fù)責(zé)生成具體的對(duì)象;2.模式供應(yīng)一系列相關(guān)或相互依靠對(duì)象的接口而無(wú)需指定它們具體的類;3模式用原型實(shí)例指定創(chuàng)立對(duì)象的種類,并且通過(guò)拷貝這些原型實(shí)例創(chuàng)立新的對(duì)象;4模式確保某一個(gè)類僅有一個(gè)實(shí)例,并自行實(shí)例化并向整個(gè)系統(tǒng)供應(yīng)這個(gè)實(shí)例;5模式將對(duì)象組合成樹(shù)形構(gòu)造以表示“ 局部-整體的層次構(gòu)造;

24、使得用戶對(duì)單個(gè)對(duì)象和組合對(duì)象的使用具有一樣性;6模式定義了一個(gè)高層接口,這個(gè)接口使得這一子系統(tǒng)更加簡(jiǎn)潔使用,為子系統(tǒng)中的一組接口供應(yīng)一個(gè)一樣的界面;7模式運(yùn)用共享技術(shù)有效地支持大量細(xì)粒度的對(duì)象;8模式使多個(gè)對(duì)象都有時(shí)機(jī)處理請(qǐng)求,從而防止請(qǐng)求的發(fā)送者和接收者之間的耦合關(guān)系;9模式定義對(duì)象間的一種一對(duì)多的依靠關(guān)系,當(dāng)一個(gè)對(duì)象的狀態(tài)發(fā)生轉(zhuǎn)變時(shí), 全部依靠于它的對(duì)象都得到通知并被自動(dòng)更新;10模式定義一個(gè)操作中的算法的骨架,而將一些步驟推遲到子類中;三、簡(jiǎn)答題分值 30關(guān)于設(shè)計(jì)模式,請(qǐng)答復(fù):A 什么是設(shè)計(jì)模式?設(shè)計(jì)模式的目標(biāo)是什么?3 分B 設(shè)計(jì)模式具有哪三大特點(diǎn)?3 分C GOF 設(shè)計(jì)模式常用的有幾

25、種?GOF 設(shè)計(jì)模式依據(jù)模式的目的可分為哪三類?4 分1. 簡(jiǎn)述面對(duì)對(duì)象程序設(shè)計(jì)的六大根本原那么?6 分2. 簡(jiǎn)述什么是單例模式,以及他解決的問(wèn)題,應(yīng)用的環(huán)境, 解決的方案, 模式的本質(zhì)?8分3. 為什么面對(duì)對(duì)象的分析和設(shè)計(jì)中優(yōu)先使用組合,而非繼承?四、程序閱讀題分值 15在下面的 C+ 代碼中,類 SalesTicket 能夠完成打印票據(jù)正文的功能,類 HeadDecorator 與FootDecorator 分別完成打印票據(jù)的臺(tái)頭和腳注的功能;這是票據(jù)的臺(tái)頭!這是票據(jù)正文!這是票據(jù)的腳注!- 該程序運(yùn)行后的輸出結(jié)果如下所示;. .word.zl. .這是票據(jù)的臺(tái)頭!這是票據(jù)的腳注!C+ 程

26、序代碼 #include using namespace std; class SalesTicket public: ; virtual void printTicket cout 這是票據(jù)正文 . printTicket; ; class HeadDecorator : public Decorator public: HeadDecoratorSalesTicket *t: Decoratort void printTicket cout 這是票據(jù)的臺(tái)頭! endl; Decorator:printTicket; ; class FootDecorator :public Decorat

27、or public: FootDecoratorSalesTicket *t: Decoratort void printTicket Decorator:printTicket; endl; cout 這是票據(jù)的腳注! ; void mainvoid SalesTicket t; FootDecorator f&t; HeadDecorator h&f; h.printTicket; cout - endl; FootDecorator aNULL; HeadDecorator b&a; b.printTicket; . .word.zl. .請(qǐng)依據(jù)題目描述、程序和輸出,闡述接受該設(shè)計(jì)模式進(jìn)

28、展設(shè)計(jì)的優(yōu)勢(shì)?五、應(yīng)用題分值15選購(gòu)量的不同就需要不同層次的主管人員來(lái)審批,如主任一般的企業(yè)選購(gòu)審批都是分級(jí)的,可以審批 1 萬(wàn)元以下的選購(gòu)單,副董事長(zhǎng)可以申批2.5 萬(wàn)元以下的選購(gòu)單,董事長(zhǎng)可以審批10萬(wàn)元以下的選購(gòu)單,10 萬(wàn)元以上的選購(gòu)單就需要開(kāi)會(huì)準(zhǔn)備;請(qǐng)依據(jù)該描述,選擇適宜的設(shè)計(jì)模式并給出其類圖;模擬試題 5 一、 選擇題分值 201. 以動(dòng)作和事務(wù)聞名,且以對(duì)象形式用來(lái)封裝回滾、日志或者事務(wù)功能;這種設(shè)計(jì)模式是A. 責(zé)任鏈模式 B命令模式 C. 觀看者模式 D. 策略模式 2. 以下不屬于創(chuàng)立型模式是 A. PROXY 代理 B.BUILDER 生成器 C. PROTOTYPE 原型

29、 D.SINGLETON 單件 3. 以下不屬于構(gòu)造型模式是 . A. POSITE 組合 B. ADAPTER 適配器 C. FLYWEIGHT 享元 D. SINGLETON 單例 4. 以下不屬于行為型模式是 . A. MAND 命令B. STRATEGY 策略 C. MEMENTO 備忘錄D. BRIDGE 橋接5.以下意圖那個(gè)是用來(lái)描述BUILDER 生成器 . A.定義一個(gè)用于創(chuàng)立對(duì)象的接口,讓子類準(zhǔn)備實(shí)例化哪一個(gè)類 B.將一個(gè)復(fù)雜對(duì)象的構(gòu)建與它的表示別離,使得同樣的構(gòu)建過(guò)程可以創(chuàng)立不同的表示;C.保證一個(gè)類僅有一個(gè)實(shí)例,并供應(yīng)一個(gè)拜望它的全局拜望點(diǎn);D.運(yùn)用共享技術(shù)有效地支持大量

30、細(xì)粒度的對(duì)象;6.以下意圖那個(gè)是用來(lái)描述PROTOTYPE 原型 . A.答應(yīng)一個(gè)對(duì)象在其部狀態(tài)轉(zhuǎn)變時(shí)轉(zhuǎn)變它的行為;對(duì)象看起來(lái)似乎修改了它的類;B.表示一個(gè)作用于某對(duì)象構(gòu)造中的各元素的操作;定義作用于這些元素的新操作;它使你可以在不轉(zhuǎn)變各元素的類的前提下C. 定義對(duì)象間的一種一對(duì)多的依靠關(guān)系,當(dāng)一個(gè)對(duì)象的狀態(tài)發(fā)生轉(zhuǎn)變時(shí), 全部依靠于它的對(duì)象都得到通知并被自動(dòng)更新;D. 用原型實(shí)例指定創(chuàng)立對(duì)象的種類,并通過(guò)拷貝這些原型創(chuàng)立新的對(duì)象;7.以下意圖那個(gè)是用來(lái)描述ADAPTER 適配器 . A. 將一個(gè)類的接口轉(zhuǎn)換成客戶期望的另外一個(gè)接口;能一起工作的那些類可以一起工作;本模式使得原本由于接口不兼容而

31、不B. 定義一個(gè)用于創(chuàng)立對(duì)象的接口,讓子類準(zhǔn)備實(shí)例化哪一個(gè)類.word.zl. . .C. 表示一個(gè)作用于某對(duì)象構(gòu)造中的各元素的操作;它使你可以在不轉(zhuǎn)變各元素的類的前提 下定義作用于這些元素的新操作;D. 將一個(gè)請(qǐng)求封裝為一個(gè)對(duì)象,從而使你可用不同的請(qǐng)求對(duì)客戶進(jìn)展參數(shù)化;對(duì)請(qǐng)求排隊(duì) 或記錄請(qǐng)求日志,以及支持可撤消的操作;8. 以下意圖那個(gè)是用來(lái)描述 BRIDGE 橋接 . A. 供應(yīng)一個(gè)創(chuàng)立一系列相關(guān)或相互依靠對(duì)象的接口,而無(wú)需指定它們具體的類;B. 將抽象局部與它的實(shí)現(xiàn)局部別離,使它們都可以獨(dú)立地變化;C. 將一個(gè)復(fù)雜對(duì)象的構(gòu)建與它的表示別離,使得同樣的構(gòu)建過(guò)程可以創(chuàng)立不同的表示;D. 動(dòng)態(tài)

32、地給一個(gè)對(duì)象添加一些額外的職責(zé);9. 以下哪個(gè)意圖是用來(lái)描述 POSITE 組合 . A.為其他對(duì)象供應(yīng)一種代理以把握對(duì)這個(gè)對(duì)象的拜望;B.運(yùn)用共享技術(shù)有效地支持大量細(xì)粒度的對(duì)象;C.將對(duì)象組合成樹(shù)形構(gòu)造以表示局部-整體的層次構(gòu)造;D.將一個(gè)復(fù)雜對(duì)象的構(gòu)建與它的表示別離,使得同樣的構(gòu)建過(guò)程可以創(chuàng)立不同的表示;10. 以下意圖那個(gè)是用來(lái)描述DECORATOR 裝飾 . A.運(yùn)用共享技術(shù)有效地支持大量細(xì)粒度的對(duì)象;B.用原型實(shí)例指定創(chuàng)立對(duì)象的種類,并且通過(guò)拷貝這些原型創(chuàng)立新的對(duì)象;C.將抽象局部與它的實(shí)現(xiàn)局部別離,使它們都可以獨(dú)立地變化;D.動(dòng)態(tài)地給一個(gè)對(duì)象添加一些額外的職責(zé);11. 以下意圖那個(gè)

33、是用來(lái)描述 FACADE 外觀 . A. 為子系統(tǒng)中的一組接口供應(yīng)一個(gè)一樣的界面,本模式定義了一個(gè)高層接口,這個(gè)接口使 得這一子系統(tǒng)更加簡(jiǎn)潔使用;B. 定義一個(gè)用于創(chuàng)立對(duì)象的接口,讓子類準(zhǔn)備實(shí)例化哪一個(gè)類;C. 保證一個(gè)類僅有一個(gè)實(shí)例,并供應(yīng)一個(gè)拜望它的全局拜望點(diǎn);D. 在不破壞封裝性的前提下,捕獲一個(gè)對(duì)象的部狀態(tài),并在該對(duì)象之外儲(chǔ)存這個(gè)狀態(tài);這 樣以后就可將該對(duì)象復(fù)原到原先儲(chǔ)存的狀態(tài);12. 以下意圖那個(gè)是用來(lái)描述FLYWEIGHT 享元 . A. 將抽象局部與它的實(shí)現(xiàn)局部別離,使它們都可以獨(dú)立地變化;B. 運(yùn)用共享技術(shù)有效地支持大量細(xì)粒度的對(duì)象;C. 動(dòng)態(tài)地給一個(gè)對(duì)象添加一些額外的職責(zé);D

34、. 用原型實(shí)例指定創(chuàng)立對(duì)象的種類,并且過(guò)拷貝這些原型創(chuàng)立新的對(duì)象;13. 以下意圖那個(gè)是用來(lái)描述 PROXY 代理 . A.用原型實(shí)例指定創(chuàng)立對(duì)象的種類,并且通過(guò)拷貝這些原型創(chuàng)立新的對(duì)象;B.運(yùn)用共享技術(shù)有效地支持大量細(xì)粒度的對(duì)象;C.為其他對(duì)象供應(yīng)一種代理以把握對(duì)這個(gè)對(duì)象的拜望;D.將一個(gè)復(fù)雜對(duì)象的構(gòu)建與它的表示別離,使得同樣的構(gòu)建過(guò)程可以創(chuàng)立不同的表示;14. 以下意圖那個(gè)是用來(lái)描述 CHAIN OF RESPONSIBILITY 職責(zé)鏈 . A. 為子系統(tǒng)中的一組接口供應(yīng)一個(gè)一樣的界面,本模式定義了一個(gè)高層接口,這個(gè)接口使得這一子系統(tǒng)更加簡(jiǎn)潔使用;B. 供應(yīng)一種方法次序拜望一個(gè)聚合對(duì)象中各個(gè)元素, 而又不需暴露該對(duì)象的部表示;C. 在不破壞封裝性的前提下,捕獲一個(gè)對(duì)象的部狀態(tài),并在該對(duì)象之外儲(chǔ)存這個(gè)狀態(tài);這樣以后就可將該對(duì)象復(fù)原到原先儲(chǔ)存的狀態(tài);D. 使多個(gè)對(duì)象都有時(shí)機(jī)處理請(qǐng)求,從而防止請(qǐng)求的發(fā)送者和接收者之間的耦合關(guān)系;15. 以下意圖那個(gè)是用來(lái)描述 MAND 命令 . . .wo

溫馨提示

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

評(píng)論

0/150

提交評(píng)論