《軟件設(shè)計(jì)模式(一)》在線平時作業(yè)3-00001
試卷總分:100 得分:100
一、單選題 (共 10 道試題,共 40 分)
1.開閉原則的含義是一個軟件實(shí)體()。
A.應(yīng)用對擴(kuò)展開放,對修改關(guān)閉
B.應(yīng)當(dāng)對修改開放,對擴(kuò)展關(guān)閉
C.應(yīng)用對繼承開放,對修改關(guān)閉
D.以下都不對
2.靜態(tài)工廠的核心角色是( )。
A.抽象產(chǎn)品
B.具體產(chǎn)品
C.靜態(tài)工廠
D.消費(fèi)者
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.設(shè)計(jì)模式具有的優(yōu)點(diǎn)()。
A.適應(yīng)需求變化
B.程序易于理解
C.減少開發(fā)過程中的代碼開發(fā)工作量
D.簡化軟件系統(tǒng)的設(shè)計(jì)
5.下面屬于結(jié)構(gòu)模式的有()
A.觀察者模式(Observer)
B.單例模式(Singleton)
C.策略模式(Strategy)
D.外觀模式(Fa?ade)
6.下列模式中,屬于行為模式的是( )。
A.工廠模式
B.觀察者
C.適配器
D.以上都不是
7.關(guān)于模式適用性,以下( )不適合使用裝飾( Decorator )模式。
A.在不影響其他對象的情況下,以動態(tài)、透明的方式給單個對象添加職責(zé)
B.處理那些可以撤銷的職責(zé)
C.客戶程序與抽象類的實(shí)現(xiàn)部分之間存在著很大的依賴性
D.當(dāng)不能采用生成子類的方法進(jìn)行擴(kuò)充時。一種情況是,可能有大量獨(dú)立的擴(kuò)展,為支持每一種組合將產(chǎn)生大量的子類,使得子類數(shù)目呈爆炸性增長。另一種情況可能是因?yàn)轭惗x被隱藏, 或類定義不能用于生成子類
8.定義一系列的算法,把它們一個個封裝起來,并且使它們可相互替換。這句話是對哪種模式的描述( )。
A.觀察者模式(Observer)
B.橋接模式(Bridge)
C.適配器模式(Adapter)
D.策略模式(Strategy)
9.下列關(guān)于靜態(tài)工廠與工廠方法表述錯誤的是( )。
A.兩者都滿足開閉原則: 靜態(tài)工廠以if ··else 方式創(chuàng)建對象,增加需求的時候會修改源代碼
B.靜態(tài)工廠對具體產(chǎn)品的創(chuàng)建類別和創(chuàng)建時機(jī)的判斷是混合在一起的,這點(diǎn)在工廠方法中解決了
C.不能形成靜態(tài)工廠的繼承結(jié)構(gòu)
D.在工廠方法模式中, 對存在繼承等級結(jié)構(gòu)的產(chǎn)品樹, 產(chǎn)品的創(chuàng)建是通過相應(yīng)等級結(jié)構(gòu)的工廠創(chuàng)建的
10.關(guān)于模式適用性, 以下( )適合使用組合(Composite) 模式。
A.用戶想使用一個已經(jīng)存在的類, 而它的接口不符合用戶的需求
B.當(dāng)一個類的實(shí)例只能有幾個不同狀態(tài)組合中的一種時
C.用戶想表示對象的部分-整體層次結(jié)構(gòu)
D.一個對象的行為取決于它的狀態(tài), 并且它必須在運(yùn)行時根據(jù)狀態(tài)改變它的行為
二、多選題 (共 5 道試題,共 20 分)
11.常用的描述設(shè)計(jì)模式的格式有()。
A.意圖
B.動機(jī)
C.適用性
D.結(jié)構(gòu)
12.使用橋接( Bridge )模式時需要注意( )。
A.僅有一個實(shí)現(xiàn)類的接口Implementor
B.創(chuàng)建正確的實(shí)現(xiàn)類的接口Implementor 對象
C.共享實(shí)現(xiàn)類的接口Implementor 對象
D.想使用一個已經(jīng)存在的類,而它的接口不符合需求
13.以下屬于行為對象模式的是( )。
A.模板( Template Method )模式
B.迭代器( Iterator )模式
C.命令( Command ) 模式
D.觀察者( Observer ) 模式
14.關(guān)于模式適用性, 以下( )適合使用享元(Flyweight)模式。
A.一個應(yīng)用程序使用了大量的對象
B.完全由于使用大量的對象, 造成很大的存儲開銷
C.對象的大多數(shù)狀態(tài)都可變?yōu)橥獠繝顟B(tài)
D.用戶想使用一個已經(jīng)存在的類, 而它的接口不符合用戶的需求
15.關(guān)于模式適用性,以下( )適合使用職責(zé)鏈( Chain of Responsibility )模式。
A.有多個的對象可以處理一個請求,哪個對象處理該請求運(yùn)行時刻自動確定
B.在需要用比較通用和復(fù)雜的對象指針代替簡單的指針的時候
C.用戶想在不明確指定接收者的情況下,向多個對象中的一個提交一個請求
D.可處理一個請求的對象集合應(yīng)被動態(tài)指定
三、判斷題 (共 10 道試題,共 40 分)
16.Adapter 模式使原本由于接口不兼容而不能一起工作的那些類可以一起工作。
17.Fa?ade(外觀)模式不僅可以為方法調(diào)用創(chuàng)建更簡單的接口,還可以減少客戶必須處理的對象數(shù)量。
18.在創(chuàng)建設(shè)計(jì)以處理變化的過程中,應(yīng)該優(yōu)先使用類繼承,而不是使用對象組合。。
19.在算法設(shè)計(jì)時,采用Strategy模式會增加大量的類。
20.在設(shè)計(jì)模式中,“效果”只是指“原因和結(jié)果”。
21.當(dāng)依賴關(guān)系固定(或幾乎固定)時,加入一個Observer(觀察者)模式可能只會增加復(fù)雜性。
22.Factory Method(工廠方法)模式是一個很直觀的模式,將會不斷地重復(fù)使用。
23.當(dāng)需要增加系統(tǒng)的功能時,應(yīng)當(dāng)采用 Bridge 模式。
24.Decorator(裝飾)模式是為現(xiàn)有的功能動態(tài)添加附加功能的一種方法。
25.設(shè)計(jì)模式使代碼編制不能真正工程化。
奧鵬,國開,廣開,電大在線,各省平臺,新疆一體化等平臺學(xué)習(xí)
詳情請咨詢QQ : 3230981406或微信:aopopenfd777