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