單項(xiàng)選擇題關(guān)于模式適用性,在以下情況不適合使用STRATEGY(策略)模式?()

A.當(dāng)一個(gè)對(duì)象必須通知其它對(duì)象,而它又不能假定其它對(duì)象是誰(shuí)。換言之,你不希望這些對(duì)象是緊密耦合的
B.許多相關(guān)的類僅僅是行為有異。“策略”提供了一種用多個(gè)行為中的一個(gè)行為來配置一個(gè)類的方法
C.需要使用一個(gè)算法的不同變體。例如,你可能會(huì)定義一些反映不同的空間/時(shí)間權(quán)衡的算法。當(dāng)這些變體實(shí)現(xiàn)為一個(gè)算法的類層次時(shí)可以使用策略模式
D.算法使用客戶不應(yīng)該知道的數(shù)據(jù)??墒褂貌呗阅J揭员苊獗┞稄?fù)雜的、與算法相關(guān)的數(shù)據(jù)結(jié)構(gòu)


您可能感興趣的試卷

你可能感興趣的試題

1.單項(xiàng)選擇題關(guān)于模式適用性,在以下情況不適合使用OBSERVER(觀察者)模式?()

A.當(dāng)一個(gè)抽象模型有兩個(gè)方面,其中一個(gè)方面依賴于另一方面。將這二者封裝在獨(dú)立的對(duì)象中以使它們可以各自獨(dú)立地改變和復(fù)用
B.當(dāng)對(duì)一個(gè)對(duì)象的改變需要同時(shí)改變其它對(duì)象,而不知道具體有多少對(duì)象有待改變
C.當(dāng)一個(gè)對(duì)象必須通知其它對(duì)象,而它又不能假定其它對(duì)象是誰(shuí)。換言之,你不希望這些對(duì)象是緊密耦合的
D.在不影響其他對(duì)象的情況下,以動(dòng)態(tài)、透明的方式給單個(gè)對(duì)象添加職責(zé)

2.單項(xiàng)選擇題關(guān)于模式適用性,在以下情況不適合使用COMMAND(命令)模式?()

A.抽象出待執(zhí)行的動(dòng)作以參數(shù)化某對(duì)象,使用過程語(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ù)更新命令

3.單項(xiàng)選擇題關(guān)于模式適用性,在以下情況不適合使用PROXY(代理)模式?()

A.你想使用一個(gè)已經(jīng)存在的類,而它的接口不符合你的需求
B.根據(jù)需要?jiǎng)?chuàng)建開銷很大的對(duì)象
C.在需要用比較通用和復(fù)雜的對(duì)象指針代替簡(jiǎn)單的指針的時(shí)候
D.取代了簡(jiǎn)單的指針,它在訪問對(duì)象時(shí)執(zhí)行一些附加操作

4.單項(xiàng)選擇題關(guān)于模式適用性,在以下情況不適合使用FLYWEIGHT(享元)模式?()

A.一個(gè)應(yīng)用程序使用了大量的對(duì)象
B.完全由于使用大量的對(duì)象,造成很大的存儲(chǔ)開銷
C.對(duì)象的大多數(shù)狀態(tài)都可變?yōu)橥獠繝顟B(tài)
D.你想使用一個(gè)已經(jīng)存在的類,而它的接口不符合你的需求

5.單項(xiàng)選擇題關(guān)于模式適用性,在以下情況不適合使用DECORATOR(裝飾)模式?()

A.在不影響其他對(duì)象的情況下,以動(dòng)態(tài)、透明的方式給單個(gè)對(duì)象添加職責(zé)
B.處理那些可以撤消的職責(zé)
C.客戶程序與抽象類的實(shí)現(xiàn)部分之間存在著很大的依賴性
D.當(dāng)不能采用生成子類的方法進(jìn)行擴(kuò)充時(shí)。一種情況是,可能有大量獨(dú)立的擴(kuò)展,為支持每一種組合將產(chǎn)生大量的子類,使得子類數(shù)目呈爆炸性增長(zhǎng)。另一種情況可能是因?yàn)轭惗x被隱藏,或類定義不能用于生成子類