下載本文檔
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、精品資料歡迎閱讀 智慧樹知到設(shè)計(jì)模式與軟件體系結(jié)構(gòu)章節(jié)測(cè)試答案 智慧樹知到設(shè)計(jì)模式與軟件體系結(jié)構(gòu)章節(jié)測(cè)試答案第一章1、以下對(duì)開閉原則的描述錯(cuò)誤的是()。A:開閉原則與“對(duì)可變形的封裝原則”沒有相似性B:找到一個(gè)系統(tǒng)的可變?cè)?,將它封裝起來(lái),叫開閉原則C:對(duì)修改關(guān)閉,是其原則之一D:從抽象層導(dǎo)出一個(gè)或多個(gè)新的具體類可以改變系統(tǒng)的行為,是其原則之一正確答案:開閉原則與“對(duì)可變形的封裝原則”沒有相似性2、常用的基本設(shè)計(jì)模式可分為()。A:創(chuàng)建型、結(jié)構(gòu)型和行為型B:對(duì)象型、結(jié)構(gòu)型和行為型C:過(guò)程型、結(jié)構(gòu)型和行為型D:抽象型、接口型和實(shí)現(xiàn)型正確答案:創(chuàng)建型、結(jié)構(gòu)型和行為型3、對(duì)違反里氏替換原則的兩個(gè)類,
2、可以采用的候選解決方案正確的是()。A:創(chuàng)建一個(gè)新的抽象類C,作為兩個(gè)具體類的超類,將A和B共同的行為移動(dòng)到C中,從而解決A和B行為不完全一致的問(wèn)題。B:將B到A的繼承關(guān)系改成組合關(guān)系。C:區(qū)分是“is-a”還是“has-a”。如果是“is-a”,可以使用繼承關(guān)系,如果是“has-a”應(yīng)該改成組合關(guān)系。D:盡量將一些需要擴(kuò)展的類或者存在變化的類設(shè)計(jì)為抽象類或者接口,并將其作為基類,在程序中盡量使用基類對(duì)象進(jìn)行編程。正確答案:盡量將一些需要擴(kuò)展的類或者存在變化的類設(shè)計(jì)為抽象類或者接口,并將其作為基類,在程序中盡量使用基類對(duì)象進(jìn)行編程。4、下列屬于面向?qū)ο蠡驹瓌t的是()。A:繼承B:封裝C:里氏
3、替換D:子類復(fù)用正確答案:里氏替換5、軟件設(shè)計(jì)模式的最關(guān)鍵的元素包括()。A:名稱B:問(wèn)題C:解決方案D:參與者和協(xié)作者正確答案:名稱 ,問(wèn)題,解決方案,參與者和協(xié)作者6、常用的描述設(shè)計(jì)模式的格式有()。A:意圖B:動(dòng)機(jī)C:適用性D:結(jié)構(gòu)正確答案:意圖,動(dòng)機(jī),適用性,結(jié)構(gòu)7、“不要和陌生人說(shuō)話”是迪米特原則的通俗表述。A:對(duì)B:錯(cuò)正確答案:對(duì)8、依據(jù)設(shè)計(jì)模式思想,程序開發(fā)中應(yīng)優(yōu)先使用的是創(chuàng)建。A:對(duì)B:錯(cuò)正確答案:錯(cuò)9、設(shè)計(jì)模式一般用來(lái)解決同一問(wèn)題的不同表相。A:對(duì)B:錯(cuò)正確答案:對(duì)10、學(xué)習(xí)設(shè)計(jì)模式可以縮短軟件的開發(fā)周期。A:對(duì)B:錯(cuò)正確答案:對(duì)第二章1、以下關(guān)于創(chuàng)建型模式說(shuō)法正確的是()。
4、A:創(chuàng)建型模式關(guān)注的是對(duì)象的創(chuàng)建B:創(chuàng)建型模式關(guān)注的是功能的實(shí)現(xiàn)C:創(chuàng)建型模式關(guān)注的是組織類和對(duì)象的常用方法D:創(chuàng)建型模式關(guān)注的是對(duì)象間的協(xié)作正確答案:創(chuàng)建型模式關(guān)注的是對(duì)象的創(chuàng)建2、當(dāng)創(chuàng)建一個(gè)具體的對(duì)象而不希望制定具體的類時(shí),可以使用()模式。 A:結(jié)構(gòu)型B:創(chuàng)建型C:行為型D:復(fù)用型正確答案:創(chuàng)建型3、當(dāng)需要在項(xiàng)目中定制自己的元素時(shí),可使用()模式來(lái)定制。A:結(jié)構(gòu)型B:創(chuàng)建型C:行為型D:復(fù)用型正確答案:創(chuàng)建型4、當(dāng)應(yīng)用工廠方法(Factory Method)模式時(shí)要考慮()。A:主要有兩種不同的情況B:參數(shù)化工廠方法C:特定語(yǔ)言的變化和問(wèn)題D:使用模板以避免創(chuàng)建子類正確答案:主要有兩種不
5、同的情況,參數(shù)化工廠方法,特定語(yǔ)言的變化和問(wèn)題,使用模板以避免創(chuàng)建子類5、工廠模式分為()3種類型。A:簡(jiǎn)單工廠B:工廠方法C:抽象工廠D:單例正確答案:簡(jiǎn)單工廠,工廠方法,抽象工廠6、簡(jiǎn)單工廠模式可以根據(jù)參數(shù)的不同返回不同的實(shí)例。A:對(duì)B:錯(cuò)正確答案:對(duì)7、工廠方法模式的主要角色有:抽象工廠(Abstract Factory) 、 具體工廠(Concrete Factory) 、抽象產(chǎn)品(Product)和具體產(chǎn)品(Concrete Product)。A:對(duì)B:錯(cuò)正確答案:對(duì)8、抽象工廠模式是簡(jiǎn)單工廠模式的升級(jí)版本,工廠方法模式只生產(chǎn)一個(gè)等級(jí)的產(chǎn)品,而抽象工廠模式可生產(chǎn)多個(gè)等級(jí)的產(chǎn)品。A:對(duì)
6、B:錯(cuò)正確答案:錯(cuò)9、創(chuàng)建型模式把實(shí)例化的責(zé)任與使用實(shí)例的責(zé)任分割開來(lái)。A:對(duì)B:錯(cuò)正確答案:對(duì)10、由于Abstract Factory類和具體工廠方法可以分離,因此在實(shí)現(xiàn)時(shí)會(huì)產(chǎn)生更多的類。A:對(duì)B:錯(cuò)正確答案:錯(cuò)第三章1、()可用來(lái)描述原型(Prototype)。A:允許一個(gè)對(duì)象在其內(nèi)部狀態(tài)改變時(shí)改變它的行為。對(duì)象看起來(lái)似乎修改了它的類。B:表示一個(gè)作用于某對(duì)象結(jié)構(gòu)中的各元素的操作。它是你可以在不改變各元素的類的前提下定義作用于這些元素的新操作。C:定義對(duì)象間的一種一對(duì)多的依賴關(guān)系,當(dāng)一個(gè)對(duì)象的狀態(tài)發(fā)生改變時(shí),所有依賴于它的對(duì)象都得到通知并被自動(dòng)更新。D:用原型實(shí)例指定創(chuàng)建對(duì)象的種類,并且
7、通過(guò)復(fù)制這些原型創(chuàng)建新的對(duì)象。正確答案:D2、在()適合使用單例(Singleton)模式。A:當(dāng)一個(gè)類不知道它所必須創(chuàng)建的對(duì)象的類的時(shí)候B:當(dāng)一個(gè)類的實(shí)例只能有幾個(gè)不同的狀態(tài)組合中的一種時(shí)C:當(dāng)這個(gè)唯一實(shí)例應(yīng)該是通過(guò)子類化可擴(kuò)展的,并且客戶應(yīng)該無(wú)需更改代碼就能使用一個(gè)擴(kuò)展的實(shí)例時(shí)D:當(dāng)一個(gè)類希望由它的子類來(lái)指定它所創(chuàng)建的對(duì)象的時(shí)候正確答案:C3、在()不適合使用原型(Prototype)模式。A:當(dāng)要實(shí)例化的類是在運(yùn)行時(shí)刻指定是,例如通過(guò)動(dòng)態(tài)裝載B:當(dāng)要強(qiáng)調(diào)一系列相關(guān)的產(chǎn)品對(duì)象的設(shè)計(jì)以便進(jìn)行聯(lián)合使用時(shí)C:為了避免創(chuàng)建一個(gè)與產(chǎn)品類層次平行的工廠類層次時(shí) D:當(dāng)一個(gè)類的實(shí)例只能有幾個(gè)不同狀態(tài)組合
8、中的一種時(shí)正確答案:B4、單例模式中,兩個(gè)基本要點(diǎn)()和單子類自己提供單利。A:構(gòu)造函數(shù)私有B:唯一實(shí)例C:靜態(tài)工廠方法D:動(dòng)態(tài)工廠方法正確答案:AB5、使用原型(Prototype)模式時(shí)要考慮的問(wèn)題有()。A:使用一個(gè)原型管理器B:實(shí)現(xiàn)克隆操作C:初始化克隆對(duì)象D:用類動(dòng)態(tài)配置應(yīng)用正確答案:ABC6、建造者模式包括:()等主要角色。A:產(chǎn)品角色(Product)B:抽象建造者(Builder)C:具體建造者(ConcreteBuilder)D:指揮者(Director)正確答案:ABCD7、單例模式分為懶漢式單例和餓漢式單例兩種。A:對(duì)B:錯(cuò)正確答案:A8、原型(Prototype)模式包
9、含:抽象原型類、具體原型類和訪問(wèn)者類等3個(gè)部分。A:對(duì)B:錯(cuò)正確答案:A9、建造者的退化模式是通過(guò)省略使用者角色完成退化的。A:對(duì)B:錯(cuò)正確答案:B10、懶漢式單例類在第一次被引用時(shí)將自己實(shí)例化。A:對(duì)B:錯(cuò)正確答案:A第四章1、用來(lái)描述適配器( Adapter)的意圖是( )。A:將一個(gè)類的接口轉(zhuǎn)換成客戶希望的另外一個(gè)接口,本模式使原本由于接口不兼容而不能一起工作的那些類可以一起工作B:定義一個(gè)用于創(chuàng)建對(duì)象的接口,讓子類決定實(shí)例化哪一個(gè)類C:表示一個(gè)作用于某對(duì)象結(jié)構(gòu)中的各元素的操作,它使用戶可以在不改變各元素的類的前提下定義作用于這些元素的新操作D:將一個(gè)請(qǐng)求封裝為一個(gè)對(duì)象,從而使用戶可用不
10、同的請(qǐng)求對(duì)客戶進(jìn)行參數(shù)化;對(duì)請(qǐng)求排隊(duì)或記錄請(qǐng)求日志,以及支持可撤銷的操作正確答案:A2、關(guān)于模式適用性,不適合使用適配器( Adapter )模式的是( )。A:用戶想使用一個(gè)已經(jīng)存在的類,而它的接口不符合用戶的需求B:用戶想創(chuàng)建一個(gè)可以復(fù)用的類,該類可以與其他不相關(guān)的類或不可預(yù)見的類(即那些接口可能不一定兼容的類)協(xié)同工作C:用戶想使用一些已經(jīng)存在的子類,但是不可能對(duì)每一個(gè)都進(jìn)行子類化以匹配它們的接口。對(duì)象適配器可以適配它的父類接口D:如果刪除對(duì)象的外部狀態(tài),那么可以用相對(duì)較少的共享對(duì)象取代很多組對(duì)象正確答案:D3、對(duì)象的結(jié)構(gòu)模式包括()。A:代理人模式B:合成模式C:享元模式D:裝飾模式正
11、確答案:ABCD4、適配器模式分為() 2 種。A:類結(jié)構(gòu)型模式B:對(duì)象結(jié)構(gòu)型模式C:代理模式D:組合模式正確答案:AB5、類適配器模式和對(duì)象適配器模式可用Java實(shí)現(xiàn)。A:對(duì)B:錯(cuò)正確答案:A6、類結(jié)構(gòu)型模式之間的耦合度比后者高,且要求程序員了解現(xiàn)有組件庫(kù)中的相關(guān)組件的內(nèi)部結(jié)構(gòu),所以應(yīng)用相對(duì)較少些。 A:對(duì)B:錯(cuò)正確答案:A7、適配器模式不可以模擬新能源汽車的發(fā)動(dòng)機(jī)。A:對(duì)B:錯(cuò)正確答案:B8、一個(gè)類的結(jié)構(gòu)模式的典型例子就是類的適配器模式。A:對(duì)B:錯(cuò)正確答案:A9、對(duì)象的結(jié)構(gòu)模式描述怎樣把各種不同類型的對(duì)象組合在一起,以實(shí)現(xiàn)新的功能,其是動(dòng)態(tài)的。A:對(duì)B:錯(cuò)正確答案:A10、作為適配器模式
12、的一個(gè)特例,缺省適配器模式在Java語(yǔ)言中有著特殊的應(yīng)用。A:對(duì)B:錯(cuò)正確答案:A第五章1、以下哪一項(xiàng)可用來(lái)描述裝飾(Decorator)()。A:運(yùn)用共享技術(shù)有效地支持大量細(xì)粒度的對(duì)象B:用原型實(shí)例指定創(chuàng)建對(duì)象的種類,并且通過(guò)復(fù)制這些原型創(chuàng)建新的對(duì)象C:將抽象部分與它的實(shí)現(xiàn)部分分離,使它們都可以獨(dú)立變化D:動(dòng)態(tài)地給一個(gè)對(duì)象添加一些額外的職責(zé)正確答案:D2、裝飾(Decorator)模式不能用于下列那個(gè)選項(xiàng)()。A:在不影響其他對(duì)象的情況下,以動(dòng)態(tài)、透明的方式給單個(gè)對(duì)象添加職責(zé)B:處理那些可以撒銷的職責(zé)C:客戶程序與抽象類的實(shí)現(xiàn)部分之間存在著很大的依賴性D:當(dāng)不能采用生成子類的方法進(jìn)行擴(kuò)充時(shí)。
13、一種情況是,可能有大量獨(dú)立的擴(kuò)展,每種組合將產(chǎn)生大量的子類,使得子類數(shù)目呈爆炸性增長(zhǎng)。另一種情況可能是類的定義被隱藏,或類定義不能用于生成子類正確答案:C3、關(guān)于模式適用性,以下( )不適合使用 Composite(組合)模式。A:用戶想使用一個(gè)已經(jīng)存在的類,而它的接口不符合用戶的需求B:用戶想表示對(duì)象的部分-整體層次結(jié)構(gòu)C:當(dāng)一個(gè)類的實(shí)例只能有幾個(gè)不同狀態(tài)組合中的一種時(shí)D:一個(gè)對(duì)象的行為取決于它的狀態(tài),并且它必須在運(yùn)行時(shí)刻根據(jù)狀態(tài)改變它的行為正確答案:B4、以下意圖()是用來(lái)描述組合(Composite )。A:為其他對(duì)象提供一種代理以控制對(duì)這個(gè)對(duì)象的訪問(wèn)B:運(yùn)用共享技術(shù)有效地支持大量細(xì)粒度
14、的對(duì)象C:將對(duì)象組合成樹形結(jié)構(gòu)以表示“部分-整體”的層次結(jié)構(gòu)D:將一個(gè)復(fù)雜對(duì)象的構(gòu)建與它的表示分離,使得同樣的構(gòu)建過(guò)程可以創(chuàng)建不同的表示正確答案:C5、根據(jù)合成模式中提供父類對(duì)象的管理方法所在位置,即實(shí)現(xiàn)接口的區(qū)別分為兩種形式()。A:透明方式B:安全方式C:模糊方式D:繼承方式正確答案:AB6、使用裝飾模式時(shí)應(yīng)注意( )。A:接口的一致性B:省略抽象的Decorator類C:保持Component類的簡(jiǎn)單性D:裝飾對(duì)象包含一個(gè)真實(shí)對(duì)象的引用正確答案:ABCD7、裝飾器模式的優(yōu)點(diǎn)是()。A:裝飾模式與繼承關(guān)系的目的都是要擴(kuò)展對(duì)象的功能,但是裝飾模式可以提供比繼承更多的靈活性 B:裝飾模式允許系
15、統(tǒng)動(dòng)態(tài)地決定貼上裝飾,或者除掉一個(gè)不需要的裝飾,繼承則不同,繼承是靜態(tài)的,它在系統(tǒng)運(yùn)行前就決定了C:通過(guò)使用不同的具體裝飾類以這些裝飾類的排列組合,設(shè)計(jì)師可以創(chuàng)造出很我不同行為的組合D:這種比繼承更加靈活機(jī)動(dòng)的特性,也同時(shí)意味著裝飾模式比繼承更加容易出錯(cuò)正確答案:ABCD8、使用裝飾模式會(huì)產(chǎn)生比使用繼承關(guān)系更多的對(duì)象,更多的對(duì)象會(huì)使得查錯(cuò)變得困難,特別是這些對(duì)象看上去都很像。A:對(duì)B:錯(cuò)正確答案:A9、需要增加由一個(gè)基本功能的排列組合而產(chǎn)生的非常大量的功能,從而使繼承關(guān)系變得不現(xiàn)實(shí),此時(shí)可以使用裝飾器模式。A:對(duì)B:錯(cuò)正確答案:A10、需要擴(kuò)展一個(gè)類的功能,或給一個(gè)類增加附加責(zé)任時(shí)可以使用裝飾
16、器模式。A:對(duì)B:錯(cuò)正確答案:A第六章1、關(guān)于模式適用性,以下情況不適合使用代理(Proxy)模式的是( )。A:用戶想使用一個(gè)已經(jīng)存在的類,而它的接口不符合用戶的需求B:根據(jù)需要?jiǎng)?chuàng)建開銷很大的對(duì)象C:在需要用比較通用和復(fù)雜的對(duì)象指針代替簡(jiǎn)單的指針的時(shí)候D:取代了簡(jiǎn)單的指針,它在訪向?qū)ο髸r(shí)執(zhí)行一些附加操作正確答案:2、以下意圖用來(lái)描述代理(Proxy)的是( )。A:用原型實(shí)例指定創(chuàng)建對(duì)象的種類,并且通過(guò)復(fù)制這些原型創(chuàng)建新的對(duì)象B:運(yùn)用共享技術(shù)有效地支持大量細(xì)粒度的對(duì)象C:為其他對(duì)象提供一種代理以控制對(duì)這個(gè)對(duì)象的訪問(wèn)D:將一個(gè)復(fù)雜對(duì)象的構(gòu)建與它的表示分離,使得同樣的構(gòu)建過(guò)程可以創(chuàng)建不同的表示正
17、確答案:A3、代理模式的擴(kuò)展是()。A:動(dòng)態(tài)代理模式B:靜態(tài)代理模式C:多態(tài)代理模式D:單態(tài)代理模式正確答案:A4、如果有一個(gè)2MB的文本(英文字母),為了對(duì)其中的字母進(jìn)行分類和計(jì)數(shù),若為文本中的每個(gè)字母都定義一個(gè)對(duì)象顯然不合實(shí)際,對(duì)與該問(wèn)題最好可使用的模式是( )。A:裝飾(Decorator) 模式B:享元(Flyweight) 模式C:合成(Composite)模式D:命令(Command)模式正確答案:B5、關(guān)于模式活用性,以下( )不適合使用Flyweight(享元)模式。A:一個(gè)應(yīng)用程序使用了大量的對(duì)象B:完全由于使用大量的對(duì)象,造成很大的存儲(chǔ)開銷C:對(duì)象的大多數(shù)狀態(tài)都可變?yōu)橥獠繝?/p>
18、態(tài)D:用戶想使用一個(gè)已經(jīng)存在的類,而它的接口不符合用戶的需求正確答案:D6、代理模式有以下的應(yīng)用場(chǎng)景()。A:為了隱藏目標(biāo)對(duì)象存在于不同地址空間的事實(shí),方便客戶端訪問(wèn)時(shí)B:要?jiǎng)?chuàng)建的目標(biāo)對(duì)象開銷很大時(shí)C:控制不同種類客戶對(duì)真實(shí)對(duì)象的訪問(wèn)權(quán)限時(shí)D:當(dāng)調(diào)用目標(biāo)對(duì)象需要附加一些額外的處理功能時(shí)正確答案:ABCD7、代理模式的主要優(yōu)點(diǎn)()。 A:代理模式在客戶端與目標(biāo)對(duì)象之間起到一個(gè)中介作用和保護(hù)目標(biāo)對(duì)象的作用B:代理對(duì)象可以擴(kuò)展目標(biāo)對(duì)象的功能C:代理模式能將客戶端與目標(biāo)對(duì)象分離D:降低了系統(tǒng)的耦合度正確答案:ABCD8、代理模式在客戶端和目標(biāo)對(duì)象增加一個(gè)代理對(duì)象,會(huì)造成請(qǐng)求處理速度變慢。A:對(duì)B:錯(cuò)正
19、確答案:A9、代理模式降低了系統(tǒng)的復(fù)雜度。A:對(duì)B:錯(cuò)正確答案:B10、系統(tǒng)中有大量對(duì)象時(shí)可以使用享元模式。A:對(duì)B:錯(cuò)正確答案:A第七章1、橋接(Bridge)模式不能用在下列哪個(gè)場(chǎng)合()。A:類的抽象以及它的實(shí)現(xiàn)都應(yīng)該可以通過(guò)生成子類的方法加以擴(kuò)充,這時(shí)Bridge模式使用戶可以對(duì)不同的抽象接口和實(shí)現(xiàn)部分進(jìn)行組合,井分別對(duì)它們進(jìn)行擴(kuò)充B:用戶不希望在抽像和它的實(shí)現(xiàn)部分之間有一個(gè)固定的綁定關(guān)系,例如,這種情況可能是因?yàn)樵诔绦蜻\(yùn)行時(shí)刻實(shí)現(xiàn)部分應(yīng)可以被選擇或者切換C:對(duì)一個(gè)抽象的實(shí)現(xiàn)部分的修改應(yīng)對(duì)客戶不產(chǎn)生影響,即客戶的代碼不必重新編譯D:客戶程序與抽象類的實(shí)現(xiàn)部分之間存在著很大的依賴性正確答案
20、:D2、以下用來(lái)描述橋接( Bridge )的意圖是( )。A:提供一個(gè)創(chuàng)建一系列相關(guān)或相互依賴對(duì)象的接口,面無(wú)須指定它們具體的類B:將抽象部分與它的實(shí)現(xiàn)部分分離,使它們都可以獨(dú)立變化C:將一個(gè)復(fù)雜對(duì)象的構(gòu)建與它的表示分離,使得同樣的構(gòu)建過(guò)程可以創(chuàng)建不同的表示D:動(dòng)態(tài)地給一個(gè)對(duì)象添加一些額外的職責(zé)正確答案:B3、以下可用來(lái)描述外觀(Facade)的是()。A:為子系統(tǒng)中的一組接口提供一個(gè)一致的界面,本模式定義了一個(gè)高層接口,這個(gè)接口使得這一子系統(tǒng)更加容易使用B:定義一個(gè)用于創(chuàng)建對(duì)象的接口,讓子類決定實(shí)例化哪一個(gè)類C:保證一個(gè)類僅有一個(gè)實(shí)例,并提供一個(gè)訪問(wèn)它的全局訪問(wèn)點(diǎn)D:在不破壞封裝性的前提下
21、,捕獲一個(gè)對(duì)象的內(nèi)部狀態(tài),并在該對(duì)象之外保存這個(gè)狀態(tài)。這樣以后就可將該對(duì)象恢復(fù)到原先保存的狀態(tài)正確答案:A4、在不破壞類封裝性的基礎(chǔ)上,使得類可以同不曾估計(jì)到的系統(tǒng)進(jìn)行交互,主要體現(xiàn)在( )。A:適配器( Adapte)模式B:合成( Composite)模式C:原型(Prototype )模式D:橋接(Bridge) 模式正確答案:AD5、橋接( Bridge )模式的優(yōu)點(diǎn)有( )。A:分離接口及其實(shí)現(xiàn)部分B:提高可擴(kuò)充性C:改變值以指定新對(duì)象D:實(shí)現(xiàn)細(xì)節(jié)對(duì)客戶透明正確答案:ABD6、使用橋接(Bridge)模式時(shí)需要注意( )。A:僅有一個(gè)實(shí)現(xiàn)類的接口ImplementorB:創(chuàng)建正確的實(shí)
22、現(xiàn)類的接口Implementor對(duì)象C:共享實(shí)現(xiàn)類的接口 Implementor對(duì)象D:想使用一個(gè)已經(jīng)存在的類,而它的接口不符合需求 正確答案:ABC7、外觀(Facade)模式的優(yōu)點(diǎn)有()。A:降低了子系統(tǒng)與客戶端之間的耦合度,使得子系統(tǒng)的變化不會(huì)影響到調(diào)用它的客戶類B:對(duì)客戶屏蔽了子系統(tǒng)組件,減少了客戶處理的對(duì)象數(shù)目C:使得子系統(tǒng)使用起來(lái)更加容易D:降低了大型軟件系統(tǒng)中的編譯依賴性,簡(jiǎn)化了系統(tǒng)在不同平臺(tái)之間的移植過(guò)程正確答案:ABCD8、外觀(Facade)模式能很好地限制客戶使用子系統(tǒng)類。A:對(duì)B:錯(cuò)正確答案:B9、橋梁(橋接Bridge)模式中,抽象類依賴實(shí)現(xiàn)類。A:對(duì)B:錯(cuò)正確答案:
23、A10、JAVA 的三層開發(fā)模式可用門面(外觀Facade)模式。A:對(duì)B:錯(cuò)正確答案:A第八章1、關(guān)于模式適用性,( )不適合使用職責(zé)鏈(Chain of Responsibility)模式。A:有多個(gè)的對(duì)象可以處理一個(gè)請(qǐng)求,哪個(gè)對(duì)象處理該請(qǐng)求運(yùn)行時(shí)刻自動(dòng)確定B:在需要用比較通用和復(fù)雜的對(duì)象指針代替簡(jiǎn)單的指針的時(shí)候C:用戶想在不明確指定接收者的情況下,向多個(gè)對(duì)象中的一個(gè)提交一個(gè)請(qǐng)求D:可以處理一個(gè)請(qǐng)求的對(duì)象集合應(yīng)被動(dòng)態(tài)指定正確答案:B2、Java的異常處理機(jī)制可理解為( )行為模式。A:觀察者(Observer)模式B:迭代器(Iterator)模式C:職責(zé)鏈(Chain of Respon
24、sibility)模式D:策略(Strategy)模式正確答案:C3、以下意圖( )可用來(lái)描述解釋器(Interpreter)。A:將抽象部分與它的現(xiàn)實(shí)部分分離,使它們都可以獨(dú)立變化B:給定一個(gè)語(yǔ)言,定義它的文法的一種表示,并定義一個(gè)解釋器,這個(gè)解釋器使用該表示來(lái)解釋語(yǔ)言中的句子C:將一個(gè)復(fù)雜對(duì)象的構(gòu)建與它的表示分離,使得同樣的構(gòu)建過(guò)程可以創(chuàng)建不用的表示D:為其它對(duì)象提供一種代理以控制對(duì)這個(gè)對(duì)象的訪問(wèn)正確答案:B4、使多個(gè)對(duì)象都有機(jī)會(huì)處理請(qǐng)求,從而避免請(qǐng)求的發(fā)送者和接收者之間的耦合關(guān)系可用來(lái)描述職責(zé)鏈(Chain of Responsibility)。A:對(duì)B:錯(cuò)正確答案:A5、責(zé)任鏈模式優(yōu)點(diǎn)
25、包括()。A:降低耦合度,它將請(qǐng)求的發(fā)送者和接收者解耦B:簡(jiǎn)化了對(duì)象。使得對(duì)象不需要知道鏈的結(jié)構(gòu)C:增強(qiáng)給對(duì)象指派職責(zé)的靈活性,通過(guò)改變鏈內(nèi)的成員或者調(diào)動(dòng)它們的次序,允許動(dòng)態(tài)地新增或者刪除責(zé)任D:增加新的請(qǐng)求處理類很方便正確答案:ABCD6、解釋器模式的優(yōu)點(diǎn)是()。A:可擴(kuò)展性比較好,靈活B:增加了新的解釋表達(dá)式的方式C:易于實(shí)現(xiàn)簡(jiǎn)單文法D:對(duì)于復(fù)雜的文法較易維護(hù)正確答案:ABC7、命令模式中,請(qǐng)求以命令的形式包裹在對(duì)象中,并傳給調(diào)用對(duì)象。A:對(duì)B:錯(cuò)正確答案:A8、責(zé)任鏈模式可動(dòng)態(tài)指定一組對(duì)象處理請(qǐng)求。 A:對(duì)B:錯(cuò)正確答案:A9、解釋器模式可利用場(chǎng)景比較少,JAVA 中如果碰到可以用 ex
26、pression4J 代替。A:對(duì)B:錯(cuò)正確答案:A10、職責(zé)鏈模式中純的職責(zé)鏈模式比不純的職責(zé)鏈模式優(yōu)先級(jí)高。A:對(duì)B:錯(cuò)正確答案:B第九章1、以下選項(xiàng)可用來(lái)描述觀察者(Observer)的是()。A:將抽象部分與它的現(xiàn)實(shí)部分分離,使它們都可以獨(dú)立變化。B:定義對(duì)象間的一種一對(duì)多的依賴關(guān)系,當(dāng)一個(gè)對(duì)象的狀態(tài)發(fā)生改變時(shí),所有依賴于它的對(duì)象都得到通知并被自動(dòng)更新C:用原型實(shí)例指定創(chuàng)建對(duì)象的種類,并且通過(guò)復(fù)制這些原型創(chuàng)建新的對(duì)象D:使多個(gè)對(duì)象都有機(jī)會(huì)處理請(qǐng)求,從而避免請(qǐng)求的發(fā)送者和接收者之間的耦合關(guān)系正確答案:B2、以下哪一種說(shuō)法可用來(lái)描述備忘錄(Memento)()。A:保證一個(gè)類只有一個(gè)實(shí)例,
27、并提供一個(gè)訪問(wèn)它的全局訪問(wèn)點(diǎn)B:將一個(gè)請(qǐng)求封裝為一個(gè)對(duì)象,從而使用戶可用不同的請(qǐng)求對(duì)客戶進(jìn)行參數(shù)化;對(duì)請(qǐng)求進(jìn)行排隊(duì)或記錄請(qǐng)求日志,以及支持可撤銷的操作C:在不破壞封裝性的前提下,捕獲一個(gè)對(duì)象的內(nèi)部狀態(tài),并在該對(duì)象之外保存這個(gè)狀態(tài),這樣以后就可將該對(duì)象恢復(fù)到原先保存的狀態(tài)D:提供一種方法順序訪問(wèn)一個(gè)聚合對(duì)象中各個(gè)元素,而又不暴露該對(duì)象的內(nèi)部表示正確答案:C3、觀察者(Observer)模式適用于()。A:當(dāng)一個(gè)抽象模型有兩個(gè)方面,其中一個(gè)方面依賴于另一方面。將這二者封裝在獨(dú)立的對(duì)象中以使它們可以各自獨(dú)立的改變和復(fù)用B:當(dāng)對(duì)一個(gè)對(duì)象的改變需要同時(shí)改變其它對(duì)象,而不知道具體有多少對(duì)象有待改變C:當(dāng)一
28、個(gè)對(duì)象必須通知其他對(duì)象,而他又不能假定其它對(duì)象是誰(shuí)。換言之,用戶不希望這些對(duì)象是緊密耦合的D:一個(gè)對(duì)象結(jié)構(gòu)包含很多類對(duì)象,它們有不同的接口,而想對(duì)這些對(duì)象實(shí)施一些依賴于其具體類的操作正確答案:ABC4、觀察者模式允許用戶獨(dú)立地改變目標(biāo)和觀察者。用戶可以單獨(dú)復(fù)用目標(biāo)對(duì)象而無(wú)須同時(shí)復(fù)用其觀察者,反之亦然。它也使用戶可以在不改動(dòng)目標(biāo)和其他的觀察者的前提下增加觀察者。下面( )是觀察者模式其他的優(yōu)缺點(diǎn)。A:它使得狀態(tài)轉(zhuǎn)換顯示化B:支持廣播通信C:意外的更新D:目標(biāo)和觀察者間的抽象耦合正確答案:BCD5、觀察者模式(Observer Pattern)還有()其他名稱。A:發(fā)布-訂閱(Publish/Su
29、bscribe)模式B:模型-視圖(Model/View)模式C:源-監(jiān)聽器(Source/Listener)模式D:從屬者(Dependents)模式正確答案:ABCD6、備忘錄模式有以下( )的效果。A:保持封裝邊界B:它簡(jiǎn)化了原發(fā)器C:使用備忘錄可能代價(jià)很高D:維護(hù)備忘錄的潛在代價(jià)正確答案:ABCD7、迭代器模式的結(jié)構(gòu)包括()。 A:抽象聚合(Aggregate)角色B:具體聚合(ConcreteAggregate)角色C:抽象迭代器(Iterator)角色D:具體迭代器(ConcreteIterator)角色正確答案:ABCD8、觀察者可以改變被觀察者的狀態(tài),再由被觀察者通知所有觀察者
30、依據(jù)被觀察者的狀態(tài)進(jìn)行。A:對(duì)B:錯(cuò)正確答案:B9、被觀察者可以通知觀察者進(jìn)行更新。A:對(duì)B:錯(cuò)正確答案:A10、拍賣的時(shí)候,拍賣師觀察最高標(biāo)價(jià),然后通知給其他競(jìng)價(jià)者競(jìng)價(jià),可以用觀察者模式。A:對(duì)B:錯(cuò)正確答案:A第十章1、關(guān)于模式適用性,以下()不適合使用策略(Strategy)模式。A:當(dāng)一個(gè)對(duì)象必須通知其他對(duì)象,而它又不能假定其他對(duì)象是誰(shuí)。換言之,用戶不希望這些對(duì)象是緊密結(jié)合的B:許多相關(guān)的類僅僅是行為有異。“策略”提供了一種用多個(gè)行為中的一個(gè)行為來(lái)配置一個(gè)類的方法C:需要使用一個(gè)算法的不同變體。例如,用戶可能會(huì)定義一些反應(yīng)不同的空間/時(shí)間權(quán)衡的算法。當(dāng)這些變體實(shí)現(xiàn)為一個(gè)算法的類的層次時(shí)
31、,可以使用策略模式D:算法使用客戶不應(yīng)該知道的數(shù)據(jù)。可使用策略模式以避免暴露復(fù)雜的、與算法相關(guān)的數(shù)據(jù)結(jié)構(gòu)正確答案:A2、以下意圖( )可用來(lái)描述訪問(wèn)者(Visitor)。A:定義對(duì)象間的一種一對(duì)多的依賴關(guān)系,當(dāng)一個(gè)對(duì)象的狀態(tài)發(fā)生改變時(shí),所有依賴于它的對(duì)象都得到通知并被自動(dòng)更新B:表示一個(gè)作用于某對(duì)象結(jié)構(gòu)中的各個(gè)元素的操作C:在不破壞封裝性的前提下,捕獲一個(gè)對(duì)象的內(nèi)部狀態(tài),并在該對(duì)象之外保存這個(gè)狀態(tài),這樣以后就可將該對(duì)象恢復(fù)到原先保存的狀態(tài)D:用原型實(shí)例指定對(duì)象的種類,并且通過(guò)復(fù)制這些原型創(chuàng)建新的對(duì)象正確答案:B3、狀態(tài)(State)模式有下面( )效果。A:它將與特定狀態(tài)相關(guān)的行為局部化,并且
32、將不同狀態(tài)的行為分割開來(lái)B:它使得狀態(tài)轉(zhuǎn)換顯示化C:通過(guò)類層次進(jìn)行訪問(wèn)D:State對(duì)象可以被共享正確答案:ABD4、下面()是策略(Strategy)模式的優(yōu)缺點(diǎn)。A:相關(guān)算法系列B:一個(gè)替代繼承的方法C:消除了一些條件語(yǔ)句D:改變對(duì)象外殼與改變對(duì)象內(nèi)核正確答案:ABC5、訪問(wèn)者模式使得易于增加新的操作。A:對(duì)B:錯(cuò)正確答案:A6、訪問(wèn)者集中相關(guān)的操作而分離無(wú)關(guān)的操作。A:對(duì)B:錯(cuò)正確答案:A7、策略對(duì)象改變 context 對(duì)象的執(zhí)行算法。A:對(duì)B:錯(cuò)正確答案:A8、策略模式關(guān)鍵在于實(shí)現(xiàn)不同的接口。A:對(duì)B:錯(cuò)正確答案:B9、策略模式會(huì)使策略類會(huì)增多。A:對(duì)B:錯(cuò)正確答案:A10、在對(duì)象的
33、數(shù)據(jù)類型很少改變,但是需要經(jīng)常的改變操作或者增加新操作的情況下可以使用訪問(wèn)者模式。 A:對(duì)B:錯(cuò)正確答案:A第十一章1、關(guān)于模式適用性,以下()不適合使用模板方法(Template Method)模式。A:一次性實(shí)現(xiàn)一個(gè)算法的不變的部分,并將可變的行為留給子類來(lái)實(shí)現(xiàn)B:當(dāng)對(duì)一個(gè)對(duì)象的改變需要同時(shí)改變其他對(duì)象,而不知道具體有多少對(duì)象有待改變C:各子類中公共的行為應(yīng)該被提取出來(lái)并集中到一個(gè)公共父類中以避免代碼重復(fù)。首先識(shí)別現(xiàn)有代碼中的不同之處,并且將不同之處分離為新的操作。最后,用一個(gè)調(diào)用這些新的操作的模板方法來(lái)替換這些不同的代碼D:控制子類擴(kuò)展。模板方法只在特定點(diǎn)調(diào)用“hook”操作,這樣就只允許在這些點(diǎn)進(jìn)行擴(kuò)展正確答案:B2、模板方法模式的基本方法是整個(gè)算法中的一個(gè)步驟,它包含()幾種類型。A:抽象方法B:具體方法C:鉤子方法D:繼承方法正確答案:ABC3、模板方法的主要優(yōu)點(diǎn)是()。A:它封裝了不變部分,擴(kuò)展可變部分B:它把認(rèn)為是不變部分的算法封裝到父類中實(shí)現(xiàn),而把可變部分算法由子類繼承實(shí)現(xiàn),便于子類繼續(xù)擴(kuò)展C
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 中外合資生產(chǎn)制造合同(三)
- 2025年茶葉采購(gòu)及服務(wù)框架協(xié)議
- 二手房屋交易合同模板
- 中小企業(yè)貸款合同樣本
- 個(gè)人存單抵押借款合同樣式
- 2025年電子產(chǎn)品采購(gòu)合同簽署完畢
- 中醫(yī)特色醫(yī)院戰(zhàn)略合作合同
- 交通運(yùn)輸工具抵押借款合同
- 臨時(shí)倉(cāng)儲(chǔ)合同樣本
- 交通監(jiān)控系統(tǒng)升級(jí)改造合同
- cpk自動(dòng)計(jì)算電子表格表格
- 2024-2025學(xué)年湖北省武漢市部分重點(diǎn)中學(xué)高一上學(xué)期期末聯(lián)考數(shù)學(xué)試卷(含答案)
- 排球正面上手傳球 說(shuō)課稿-2023-2024學(xué)年高一上學(xué)期體育與健康人教版必修第一冊(cè)
- 2025年浙江省交通投資集團(tuán)財(cái)務(wù)共享服務(wù)中心招聘2名高頻重點(diǎn)提升(共500題)附帶答案詳解
- 做投標(biāo)文件培訓(xùn)
- 9.4+跨學(xué)科實(shí)踐:制作簡(jiǎn)易活塞式抽水機(jī)課件+-2024-2025學(xué)年人教版物理八年級(jí)下冊(cè)
- 建筑工程工作計(jì)劃
- 2025年中國(guó)國(guó)際投資促進(jìn)中心限責(zé)任公司招聘管理單位筆試遴選500模擬題附帶答案詳解
- 瓶裝液化氣送氣工培訓(xùn)
- 外科護(hù)理課程思政課程標(biāo)準(zhǔn)
- 船舶航行安全
評(píng)論
0/150
提交評(píng)論