《軟件設(shè)計(jì)模式(一)》在線平時(shí)作業(yè)1-00001
試卷總分:100 得分:100
一、單選題 (共 10 道試題,共 40 分)
1.保證一個(gè)類(lèi)僅有一個(gè)實(shí)例,并提供一個(gè)訪問(wèn)它的全局訪問(wèn)點(diǎn)。這句話是對(duì)下列哪種模式的描述( )。
A.外觀模式(Facade)
B.策略模式(Strategies)
C.適配器模式(Adapter)
D.單例模式(Singleton)
2.下面的類(lèi)圖表示的是哪個(gè)設(shè)計(jì)模式?()
A.抽象工廠模式(Abstract Factory)
B.觀察者模式(Observer)
C.策略模式(Strategies)
D.橋接模式(Bridge)
3.以下意圖( ) 可用來(lái)描述享元(Flyweight)。
A.將抽象部分與它的實(shí)現(xiàn)部分分離, 使它們都可以獨(dú)立變化
B.運(yùn)用共享技術(shù)有效地支持大量細(xì)粒度的對(duì)象
C.動(dòng)態(tài)地給一個(gè)對(duì)象添加一些額外的職責(zé)
D.用原型實(shí)例指定創(chuàng)建對(duì)象的種類(lèi), 并且通過(guò)復(fù)制這些原型創(chuàng)建新的對(duì)象
4.在觀察者模式中,表述錯(cuò)誤的是( )。
A.觀察者角色的更新是被動(dòng)的。
B.被觀察者可以通知觀察者進(jìn)行更新
C.觀察者可以改變被觀察者的狀態(tài),再由被觀察者通知所有觀察者依據(jù)被觀察者的狀態(tài)進(jìn)行。
D.以上表述全部錯(cuò)誤。
5.以下用來(lái)描述橋接( Bridge )的意圖是( )。
A.人提供一個(gè)創(chuàng)建一系列相關(guān)或相互依賴(lài)對(duì)象的接口,而無(wú)須指定它們具體的類(lèi)
B.將抽象部分與它的實(shí)現(xiàn)部分分離, 使它們都可以獨(dú)立變化
C.將一個(gè)復(fù)雜對(duì)象的構(gòu)建與它的表示分離, 使得同樣的構(gòu)建過(guò)程可以創(chuàng)建不同的表示
D.動(dòng)態(tài)地給一個(gè)對(duì)象添加一些額外的職責(zé)
6.Abstract Factory(抽象工廠)模式的意圖是()
A.希望簡(jiǎn)化現(xiàn)有系統(tǒng)的使用方法。你需要定義自己的借口。
B.將一個(gè)無(wú)法控制的現(xiàn)有對(duì)象與一個(gè)特定借口相匹配
C.將一組實(shí)現(xiàn)部分從另一組使用它們的對(duì)象中分離出來(lái)。
D.提供一個(gè)創(chuàng)建一系列相關(guān)或相互依賴(lài)對(duì)象的接口,而無(wú)需指定它們具體的類(lèi)
7.Strategy模式應(yīng)遵循的原則中不正確的是()。
A.對(duì)象都具有職責(zé)。
B.職責(zé)不同的具體實(shí)現(xiàn)是通過(guò)多態(tài)的使用完成的。
C.概念上相同的算法具有多個(gè)不同的實(shí)現(xiàn),需要進(jìn)行管理。
D.優(yōu)先使用組合而不是繼承。
8.關(guān)于模式適用性, 以下( )不適合使用命令( Command )模式。
A.抽象出待執(zhí)行的動(dòng)作以參數(shù)化某對(duì)象,使用過(guò)程語(yǔ)言中的回調(diào)( callback )函數(shù)表達(dá)這種參數(shù)化機(jī)制
B.Java 語(yǔ)言中的AWT 的事件處理
C.在需要用比較通用和復(fù)雜的對(duì)象指針代替簡(jiǎn)單的指針的時(shí)候
D.一個(gè)系統(tǒng)需要支持交易( Transaction ),一個(gè)交易結(jié)構(gòu)封裝了一組數(shù)據(jù)更新命令
9.下列關(guān)于靜態(tài)工廠與工廠方法表述錯(cuò)誤的是:( )
A.兩者都滿(mǎn)足開(kāi)閉原則:靜態(tài)工廠以if else方式創(chuàng)建對(duì)象,增加需求的時(shí)候會(huì)修改源代碼。
B.靜態(tài)工廠對(duì)具體產(chǎn)品的創(chuàng)建類(lèi)別和創(chuàng)建時(shí)機(jī)的判斷是混和在一起的,這點(diǎn)在工廠方法是分開(kāi)的。
C.不能形成靜態(tài)工廠的繼承結(jié)構(gòu)。
D.在工廠方法模式中,對(duì)于存在繼承等級(jí)結(jié)構(gòu)的產(chǎn)品樹(shù),產(chǎn)品的創(chuàng)建是通過(guò)相應(yīng)等級(jí)結(jié)構(gòu)的工廠創(chuàng)建的。
10.關(guān)于工廠方法,以下敘述不正確的是()。
A.Factory Method是一個(gè)用于幫助分配創(chuàng)建的責(zé)任的模式。
B.Factory Method模式和Abstract Factory模式總是配合使用。
C.Factory Method適用于將對(duì)象實(shí)例化的規(guī)則推遲到某個(gè)派生類(lèi)的情形。
D.Factory Method是屬于創(chuàng)建型模式。
二、多選題 (共 5 道試題,共 20 分)
11.以下屬于創(chuàng)建型模式的是()
A.抽象工廠( Ab stract Factory )模式
B.合成( Composite ) 模式
C.單例( S ingleton )模式
D.橋接( Bridge )模式
12.以下屬于結(jié)構(gòu)型模式的是( )。
A.代理(Proxy) 模式
B.合成(Composite)模式
C.命令(Command)模式
D.觀察者(Observer)模式
13.使用原型( Prototype )模式時(shí)要考慮的問(wèn)題有( )。
A.使用一個(gè)原型管理器
B.實(shí)現(xiàn)克隆操作
C.初始化克隆對(duì)象
D.用類(lèi)動(dòng)態(tài)配置應(yīng)用
14.觀察者( Observer )模式適用于( )。
A.當(dāng)一個(gè)抽象模型存在兩個(gè)方面,其中一個(gè)方面依賴(lài)于另一方面,將這二者封裝在獨(dú)立的對(duì)象中以使它們可以各自獨(dú)立地改變和復(fù)用
B.當(dāng)對(duì)一個(gè)對(duì)象的改變需要同時(shí)改變其他對(duì)象,而不知道具體有多少對(duì)象有待改變時(shí)
C.當(dāng)一個(gè)對(duì)象必須通知其他對(duì)象,而它又不能假定其他對(duì)象是誰(shuí)。也就是說(shuō)用戶(hù)不希望這些對(duì)象是緊密耦合的
D.一個(gè)對(duì)象結(jié)構(gòu)包含很多類(lèi)對(duì)象,它們有不同的接口,而想對(duì)這些對(duì)象實(shí)施一些依賴(lài)于其具體類(lèi)的操作
15.使用裝飾模式時(shí)應(yīng)注意( )。
A.接口的一致性
B.避免在層次結(jié)構(gòu)高層的類(lèi)有太多的特征
C.保持Component 類(lèi)的簡(jiǎn)單性
D.裝飾與它的組成不一樣,裝飾是一個(gè)透明的包裝
三、判斷題 (共 10 道試題,共 40 分)
16.當(dāng)依賴(lài)關(guān)系固定(或幾乎固定)時(shí),加入一個(gè)Observer(觀察者)模式可能只會(huì)增加復(fù)雜性。
17.適配器模式屬于創(chuàng)建型模式。
18.Template Method是用以幫助從不同的步驟中抽象出一個(gè)通用的過(guò)程的模式。
19.Double-Checked Locking模式既可以用于單線程又能應(yīng)用于多線程應(yīng)用程序。
20.Abstract Factory(抽象工廠)模式中,客戶(hù)對(duì)象不需知道“向誰(shuí)請(qǐng)求需要的對(duì)象” “如何使用這些對(duì)象”。
21.Template Method(模版)模式被用于控制一個(gè)序列的行為步驟,這些步驟通常是相同的。
22.Adapter 模式使原本由于接口不兼容而不能一起工作的那些類(lèi)可以一起工作。
23.4. Singleton(單件)模式的工作方式是擁有一個(gè)特定的方法,這個(gè)方法被用于實(shí)例化需要的對(duì)象。
24.在工廠方法模式中,對(duì)于存在繼承等級(jí)結(jié)構(gòu)的產(chǎn)品樹(shù),產(chǎn)品的創(chuàng)建是通過(guò)相應(yīng)等級(jí)結(jié)構(gòu)的工廠創(chuàng)建的。
25.使用抽象工廠方法與優(yōu)先使用組合是相矛盾的。
奧鵬,國(guó)開(kāi),廣開(kāi),電大在線,各省平臺(tái),新疆一體化等平臺(tái)學(xué)習(xí)
詳情請(qǐng)咨詢(xún)QQ : 3230981406或微信:aopopenfd777