《軟件設(shè)計(jì)模式(一)》在線平時(shí)作業(yè)2-00001
試卷總分:100 得分:100
一、單選題 (共 10 道試題,共 40 分)
1.關(guān)于模式適用性, 以下( )不適合使用命令( Command )模式。
A.抽象出待執(zhí)行的動(dòng)作以參數(shù)化某對象,使用過程語言中的回調(diào)( callback )函數(shù)表達(dá)這種參數(shù)化機(jī)制
B.Java 語言中的AWT 的事件處理
C.在需要用比較通用和復(fù)雜的對象指針代替簡單的指針的時(shí)候
D.一個(gè)系統(tǒng)需要支持交易( Transaction ),一個(gè)交易結(jié)構(gòu)封裝了一組數(shù)據(jù)更新命令
2.“不要和陌生人說話”是()原則的通俗表述。
A.接口隔離
B.里氏替換
C.依賴倒置
D.迪米特
3.以下意圖( ) 可用來描述外觀(Facade)。
A.為子系統(tǒng)中的一組接口提供一個(gè)一致的界面, 本模式定義了一個(gè)高層接口, 這個(gè)接口使得這一子系統(tǒng)更加容易使用
B.定義一個(gè)用于創(chuàng)建對象的接口,讓子類決定實(shí)例化|哪一個(gè)類
C.保證一個(gè)類僅有一個(gè)實(shí)例, 并提供一個(gè)訪問它的全局訪問點(diǎn)
D.在不破壞封裝性的前提下, 捕獲一個(gè)對象的內(nèi)部狀態(tài), 并在該對象之外保存這個(gè)狀態(tài)。這樣以后就可將該對象恢復(fù)到原先保存的狀態(tài)
4.下列模式中,屬于行為模式的是( )。
A.工廠模式
B.觀察者
C.適配器
D.以上都不是
5.外觀模式的作用是()。
A.當(dāng)不能采用生成子類的方法進(jìn)行擴(kuò)充時(shí),動(dòng)態(tài)地給一個(gè)對象添加一些額外的功能
B.為了系統(tǒng)中的一組功能調(diào)用提供一個(gè)一致的接口,這個(gè)接口使得這一子系統(tǒng)更加容易使用
C.保證一個(gè)類僅有一個(gè)實(shí)例,并提供一個(gè)訪問他的全局訪問點(diǎn)
D.在方法中定義算法的框架,而將算法中的一些操作步驟延遲到子類中實(shí)現(xiàn)
6.作者在《設(shè)計(jì)模式》中考慮變化的設(shè)計(jì)方式應(yīng)遵循的原則中,哪一條是錯(cuò)誤的()。
A.針對接口進(jìn)行編程,而不是針對實(shí)現(xiàn)編程。
B.優(yōu)先使用對象組合,而不是繼承。
C.對需求中可能變化的部分,應(yīng)重新設(shè)計(jì)。
D.在不引起重新設(shè)計(jì)的前提下,對變化的概念進(jìn)行封裝。
7.設(shè)計(jì)模式具有的優(yōu)點(diǎn)()。
A.適應(yīng)需求變化
B.程序易于理解
C.減少開發(fā)過程中的代碼開發(fā)工作量
D.簡化軟件系統(tǒng)的設(shè)計(jì)
8.下面屬于行為模式的是( )。
A.抽象工廠模式( Abstract Factory )
B.適配器模式 (Adapter)
C.策略模式(Strategy)
D.外觀模式(Fa?ade)
9.對違反里氏替換原則的兩個(gè)類,可以采用的候選解決方案錯(cuò)誤的是()
A.創(chuàng)建一個(gè)新的抽象類C,作為兩個(gè)具體類的超類,將A和B共同的行為移動(dòng)到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.以上方案錯(cuò)誤
10.要依賴于抽象,不要依賴于具體,即針對接口編程,不要針對實(shí)現(xiàn)編程,是()的表述
A.開閉原則
B.接口隔離原則
C.里氏替換原則
D.依賴倒置原則
二、多選題 (共 5 道試題,共 20 分)
11.以下有關(guān)抽象工廠( Abstract Factmy )模式的優(yōu)點(diǎn)和缺點(diǎn)描述正確的是( )。
A.它分離了具體的類
B.它使得易于交換產(chǎn)品系列
C.它有利于產(chǎn)品的一致性
D.難以支持新種類的產(chǎn)品
12.2. 當(dāng)應(yīng)用工廠方法( Factory Method )模式時(shí)要考慮( )。
A.主要有兩種不同的情況
B.參數(shù)化工廠方法
C.特定語言的變化和問題
D.使用模板以避免創(chuàng)建子類
13.以下屬于行為對象模式的是( )。
A.裝飾(Decorator)模式
B.迭代器(Iterator)模式
C.命令(Command)模式
D.中介者(Mediator)模式
14.關(guān)于模式適用性,以下( )適合使用職責(zé)鏈( Chain of Responsibility )模式。
A.有多個(gè)的對象可以處理一個(gè)請求,哪個(gè)對象處理該請求運(yùn)行時(shí)刻自動(dòng)確定
B.在需要用比較通用和復(fù)雜的對象指針代替簡單的指針的時(shí)候
C.用戶想在不明確指定接收者的情況下,向多個(gè)對象中的一個(gè)提交一個(gè)請求
D.可處理一個(gè)請求的對象集合應(yīng)被動(dòng)態(tài)指定
15.以下屬于結(jié)構(gòu)型模式的是( )。
A.代理(Proxy) 模式
B.合成(Composite)模式
C.命令(Command)模式
D.觀察者(Observer)模式
三、判斷題 (共 10 道試題,共 40 分)
16.Strategy(策略)模式的本質(zhì)是在一個(gè)抽象類中封裝一個(gè)算法并交替使用這些算法。
17.從本質(zhì)上看,switch 語句可以達(dá)到和抽象工廠相同的效果。
18.Open-Close原則的含義是一個(gè)軟件實(shí)體應(yīng)當(dāng)對擴(kuò)展開放,對修改關(guān)閉。
19.大多數(shù)設(shè)計(jì)模式還讓軟件更具有可修改性。
20.Strategy模式可以用不同的方式調(diào)用所有的算法。
21.繼承是一種通過擴(kuò)展一個(gè)已有對象的實(shí)現(xiàn),從而獲得新功能的復(fù)用方法。
22.工廠方法模式中,子類負(fù)責(zé)定義創(chuàng)建對象的接口,父類則負(fù)責(zé)生成具體的對象。
23.Fa?ade 模式為子系統(tǒng)中的一組接口提供的界面可能不一致。
24.Adapter 模式不是必須針對某個(gè)接口進(jìn)行設(shè)計(jì)。
25.一個(gè)抽象工廠對象總是要和一個(gè)具體工廠方法對象相結(jié)合。
奧鵬,國開,廣開,電大在線,各省平臺(tái),新疆一體化等平臺(tái)學(xué)習(xí)
詳情請咨詢QQ : 3230981406或微信:aopopenfd777