A.當(dāng)一個(gè)對(duì)象必須通知其它對(duì)象,而它又不能假定其它對(duì)象是誰(shuí)。換言之,你不希望這些對(duì)象是緊密耦合的
B.許多相關(guān)的類僅僅是行為有異。“策略”提供了一種用多個(gè)行為中的一個(gè)行為來(lái)配置一個(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)
您可能感興趣的試卷
你可能感興趣的試題
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é)
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ù)更新命令
A.你想使用一個(gè)已經(jīng)存在的類,而它的接口不符合你的需求
B.根據(jù)需要?jiǎng)?chuàng)建開(kāi)銷很大的對(duì)象
C.在需要用比較通用和復(fù)雜的對(duì)象指針代替簡(jiǎn)單的指針的時(shí)候
D.取代了簡(jiǎn)單的指針,它在訪問(wèn)對(duì)象時(shí)執(zhí)行一些附加操作
A.一個(gè)應(yīng)用程序使用了大量的對(duì)象
B.完全由于使用大量的對(duì)象,造成很大的存儲(chǔ)開(kāi)銷
C.對(duì)象的大多數(shù)狀態(tài)都可變?yōu)橥獠繝顟B(tài)
D.你想使用一個(gè)已經(jīng)存在的類,而它的接口不符合你的需求
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被隱藏,或類定義不能用于生成子類
最新試題
以下哪項(xiàng)用于觀察系統(tǒng)在一個(gè)給定的環(huán)境和場(chǎng)景中的性能表現(xiàn)是否與預(yù)期目標(biāo)一致()
以下哪種集成測(cè)試先對(duì)核心軟件部件進(jìn)行集成測(cè)試()
編寫功能需求規(guī)格說(shuō)明時(shí)不需要描述的是()
以下哪項(xiàng)不屬于性能測(cè)試需要注意的事項(xiàng)()
RUP軟件測(cè)試流程最后的測(cè)試步驟是()
模塊的基本特性是(),并且可以被集成。
以下哪項(xiàng)測(cè)試是將所有單元組裝成模塊,測(cè)試各部分工作是否達(dá)到相應(yīng)技術(shù)指標(biāo)級(jí)的活動(dòng)()
下面哪項(xiàng)不屬于系統(tǒng)測(cè)試的主要目標(biāo)()
以下不屬于磁盤監(jiān)控任務(wù)的是()
若按測(cè)試內(nèi)容分,軟件測(cè)試可分為()