JAVA測試題附有答案_第1頁
JAVA測試題附有答案_第2頁
JAVA測試題附有答案_第3頁
JAVA測試題附有答案_第4頁
JAVA測試題附有答案_第5頁
已閱讀5頁,還剩15頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

JAVA[復(fù)制]1.1設(shè)計模式具有()的優(yōu)點[單選題]*A.提高系統(tǒng)性能B。減少類的數(shù)量,降低系統(tǒng)規(guī)模C.減少代碼開發(fā)工作量D.提升軟件設(shè)計的質(zhì)量(正確答案)1.2在面向?qū)ο筌浖_發(fā)過程中,采用設(shè)計模式()[單選題]*A.可以減少在設(shè)計和實現(xiàn)過程中需要創(chuàng)建的實例對象的數(shù)量B.可以保證程序的運行速度達到最優(yōu)值C可以復(fù)用相似問題的相同解決方案(正確答案)D.允許在非面向?qū)ο蟪绦蛟O(shè)計語言中使用面向?qū)ο蟮母拍?.3()都是行為型設(shè)計模式。[單選題]*A.組合模式、適配器模式和代理模式B觀察者模式、職責(zé)鏈模式和策略模式(正確答案)C.原型模式、建造者模式和單例模式D.迭代器模式、命令模式和橋接模式2.1開閉原則是面向?qū)ο蟮目蓮?fù)用設(shè)計的基石,開閉原則是指一個軟件實體應(yīng)當(dāng)對()開放,對()關(guān)閉;里氏代換原則是指任何()可以出現(xiàn)的地方,()一定可以出現(xiàn);依賴倒轉(zhuǎn)原則就是要依賴于(),而不要依賴于(),或者說要針對接口編程,不要針對現(xiàn)實編程。*①B.擴展(正確答案)②A.修改(正確答案)③C.基類對象(正確答案)④D.子類對象(正確答案)⑤D抽象(正確答案)⑥C.實現(xiàn)(正確答案)2.2關(guān)于單一職責(zé)原則,一下敘述錯誤的是()[單選題]*A.一個類只負責(zé)一個功能領(lǐng)域中的相應(yīng)職責(zé)B.就一個類而言,應(yīng)該有且僅有一個引起它變化的原因C.一個類承擔(dān)的職責(zé)越多,越容易復(fù)用,被復(fù)用的可能性越大(正確答案)D.當(dāng)一個類承擔(dān)的職責(zé)過多時需要將職責(zé)進行分離,將不同的職責(zé)分裝在不同的類中2.3以下關(guān)于面向?qū)ο笤O(shè)計的敘述中錯誤的是()[單選題]*A.高層模塊不應(yīng)該依賴于低層模塊B.抽象不應(yīng)該依賴于細節(jié)C.細節(jié)可以依賴于抽象D.高層模塊無法不依賴于低層模塊(正確答案)2.4在設(shè)計系統(tǒng)中應(yīng)用迪米特法則,以下敘述有誤的是()[單選題]*A.在類的劃分上應(yīng)該盡量創(chuàng)建松耦合的類,類的耦合度越低,復(fù)用越容易。B.如果兩個類之間不必彼此直接通信,那么這兩個類就不應(yīng)當(dāng)發(fā)生直接的相互作用C.在對其他類的引用上,一個對象對其它對象的引用應(yīng)當(dāng)將到最低D.在類的設(shè)計上,只要有可能,一個類應(yīng)該盡量設(shè)計成抽象類或接口,且成員變量和成員函數(shù)的訪問權(quán)限最好設(shè)置為公開的(正確答案)3.1在簡單工廠模式中,如果需要增加新的具體鏟平,通常需要修改()的源代碼[單選題]*A.抽象產(chǎn)品類B.其他具體產(chǎn)品類C.工廠類(正確答案)D.客戶類3.2以下關(guān)于簡單工廠模式的敘述錯誤的是()[單選題]*A.簡單工廠模式可以根據(jù)參數(shù)的不同返回不同的產(chǎn)品類的實例B.簡單工廠模式專門定義一個類來負責(zé)創(chuàng)建其他類的實例,被創(chuàng)建的實例通常都具有共同的父類C.簡單工廠模式可以減少系統(tǒng)中類的個數(shù),簡化系統(tǒng)的設(shè)計,使得系統(tǒng)更易于理解(正確答案)D.系統(tǒng)的擴展困難,在添加新的鏟平是需要修改工廠的業(yè)務(wù)邏輯,違背了開閉原則3.3以下代碼使用了()模式[單選題]*A.SimpleFactory(正確答案)B.FactoryMethodC.AbstractFactoryD.未使用任何設(shè)計模式4.1不同品牌的手機應(yīng)該由不同公司制造,三星公司生產(chǎn)三星手機,蘋果公司生產(chǎn)蘋果手機。該場合蘊含了(B)設(shè)計模式[單選題]*A.SimpleFactoryB.FactoryMethod(正確答案)C.AbstractFactoryD.Bulider4.2以下關(guān)于工廠方法模式的敘述錯誤的是()[單選題]*A.在工廠方法模式中引入了抽象工廠類,而具體產(chǎn)品的創(chuàng)建延遲到具體工廠中實現(xiàn)B.工廠方法模式添加新的產(chǎn)品對象很容易,無需對原有系統(tǒng)進行修改,符合開閉原則C.工廠方法模式存在的問題是在添加新的產(chǎn)品時需要編寫新的具體產(chǎn)品類,而且還要提供與之對應(yīng)的具體工廠類,隨著類個數(shù)的增加會給系統(tǒng)帶來一些額外開銷D,工廠方法模式是所有形式的工廠模式中最為抽象和最具一般性的一種形態(tài),工廠方法模式退化后可以演變成抽象工廠模式(正確答案)4.3某銀行系統(tǒng)采用工廠模式描述其不同賬戶之間的關(guān)系,1計出的類圖如圖4-7所

示。其中與工廠模式中的Creator角色相對應(yīng)的類是(),與Product角色相對應(yīng)的類

是()。*A.Bank(正確答案)B.Account(正確答案)C.CheckingD.Savings5.1某公司要開發(fā)一個圖表顯示系統(tǒng),在該系統(tǒng)中曲線生成器可以創(chuàng)建曲線圖、曲線圖圖例和曲線圖數(shù)據(jù)標(biāo)簽,柱狀圖生成器可以創(chuàng)建柱狀圖、柱狀圖圖例和柱狀圖數(shù)據(jù)標(biāo)簽。用戶要求可以很方便的增加新的類型的圖形,系統(tǒng)需具備較好的可擴展能力。針對這種需求,公司采用()最為恰當(dāng)[單選題]*A.橋接模式B.適配器模式C.策略模式D.抽象工廠模式(正確答案)5.2以下關(guān)于抽象工廠模式的敘述錯誤的是()。[單選題]*A.抽象工廠模式提供了一個創(chuàng)建一系列相關(guān)或相互依賴對象的接口,而無須指定它們具體的類B.當(dāng)系統(tǒng)中有多于一個產(chǎn)品族時可以考慮使用抽象工廠模式C.當(dāng)一個工廠等級結(jié)構(gòu)可以創(chuàng)建出分屬于不同產(chǎn)品等級結(jié)構(gòu)的一個產(chǎn)品族中的所有對象時,抽象工廠模式比工廠方法模式更為簡單、有效率D.抽象工廠模式符合開閉原則,增加新的產(chǎn)品族和新的產(chǎn)品等級結(jié)構(gòu)都很方便(正確答案)5.3關(guān)于抽象工廠模式中的產(chǎn)品族和產(chǎn)品等級結(jié)構(gòu)的敘述錯誤的是()。[單選題]*A.產(chǎn)品等級結(jié)構(gòu)是從不同的產(chǎn)品族中任意選取產(chǎn)品組成的層次結(jié)構(gòu)(正確答案)B.產(chǎn)品族是指位于不同產(chǎn)品等級結(jié)構(gòu)、功能相關(guān)的產(chǎn)品組成的家族C.抽象工廠是指一個工廠等級結(jié)構(gòu)可以創(chuàng)建出分屬于不同產(chǎn)品等級結(jié)構(gòu)的一個產(chǎn)品族中的所有對象D.工廠方法模式對應(yīng)唯一一個產(chǎn)品等級結(jié)構(gòu),而抽象工廠模式需要面對多個產(chǎn)品等級結(jié)構(gòu)6.1以下關(guān)于建造者模式的敘述錯誤的是()。[單選題]*A.建造者模式將一個復(fù)雜對象的構(gòu)建與它的表示分離,使得同樣的構(gòu)建過程可以創(chuàng)建不同的表示B.建造者模式允許用戶只通過指定復(fù)雜對象的類型和內(nèi)容就可以創(chuàng)建它們,而不需要知道內(nèi)部的具體構(gòu)建細節(jié)C.當(dāng)需要創(chuàng)建的產(chǎn)品對象有復(fù)雜的內(nèi)部結(jié)構(gòu)時可以考慮使用建造者模式D.在建造者模式中,各個具體的建造者之間通常具有較強的依賴關(guān)系,者類組裝成一個完整的產(chǎn)品對象返回給客戶可通過指揮(正確答案)6.2當(dāng)需要創(chuàng)建的產(chǎn)品具有復(fù)雜的內(nèi)部結(jié)構(gòu)時,為了逐步構(gòu)造完整的對象,并使得對象的創(chuàng)建更具靈活性,可以使用()。[單選題]*A.抽象工廠模式B.原型模式C.建造者模式(正確答案)D.單例模式6.3關(guān)于建造者模式中的Director類的描述錯誤的是()。[單選題]*A.Director類隔離了客戶類及劉建過程B.在建造者模式中客戶類指導(dǎo)Director類去生成對象或者合成一些類,并逐步構(gòu)造一個復(fù)雜對象C.Director類構(gòu)建一個抽象建造者Builder子類的對象D.Director與抽象工廠模式中的工廠類類似,負責(zé)返回一個產(chǎn)品族中的所有產(chǎn)品(正確答案)7.1關(guān)于Java語言中的clone()方法,以下敘述有誤的一項是()[單選題]*A.對于對象x,都有x.clone()==x(正確答案)B.對于對象x,都有x.clone().getClassO==x.getClass()C.對于對象x的成員對象member,都有x.clone).getMember)==x.getMember()D.對于對象x的成員對象member,都有x.clone().getMember().getClass()==x.getMember().getClass(7.2以下關(guān)于原型模式的敘述錯誤的是()。[單選題]*A.原型模式通過給出一個原型對象來指明所要創(chuàng)建的對象的類型,然后用復(fù)制這個原型對象的辦法創(chuàng)建出更多同類型的對象B.淺克隆僅僅復(fù)制所考慮的對象,而不復(fù)制它所引用的對象,也就是其中的成員對象并不復(fù)制C.在原型模式中實現(xiàn)深克隆時通常需要編寫較為復(fù)雜的代碼D.在原型模式中不需要為每一個類配備一個克隆方法,因此對于原型模式的擴展很靈活,對于已有類的改造也較為容易(正確答案)7.3某公司要開發(fā)一個即時聊天軟件,用戶在聊天過程中可以與多位好友同時聊天,在私聊時將產(chǎn)生多個聊天窗口,為了提高聊天窗口的創(chuàng)建效率,要求根據(jù)第一個窗口快速創(chuàng)建其他窗口。針對這種需求,采用()進行設(shè)計最為合適。[單選題]*A.享元模式B.單例模式C.原型模式(正確答案)D.組合模式8.1在()時可使用單例模式。[單選題]*A.隔離菜單項對象的創(chuàng)建和使用B.防止一個資源管理器窗口被實例化多次(正確答案)C.使用一個已有的查找算法而不想修改既有代碼D.不能創(chuàng)建子類,需要擴展一個數(shù)據(jù)過濾類8.2以下關(guān)于單例模式的描述正確的是()。[單選題]*A.它描述了只有一個方法的類的集合B.它能夠保證一個類只產(chǎn)生一個唯一的實例(正確答案)C.它描述了只有一個屬性的類的集合D.它能夠保證一個類的方法只能被一個唯一的類調(diào)用8.3以下()不是單例模式的要點。[單選題]*A.某個類只能有一個實例B.單例類不能被繼承(正確答案)C.必須自行創(chuàng)建單個實例D.必須自行向整個系統(tǒng)提供單個實例9.1()將一個類的接口轉(zhuǎn)換成客戶希望的另外一個接口,使得原本由于接口不兼容不能一起工作的那些類可以一起工作。[單選題]*A.命令模式(Command)B.適配器模式(Adapter)(正確答案)C.策略模式(Strategy)D.單例模式(Singleton)9.2以下關(guān)于適配器模式的敘述錯誤的是()[單選題]*A.適配器模式將一個接口轉(zhuǎn)換成客戶希望的另一個接口,使得原本接口不兼容的那些類可以一起工作B.在類適配器中Adapter和Adaptee是繼承關(guān)系,而在對象適配器中Adapter和Adaptee是關(guān)聯(lián)關(guān)系C.類適配器比對象適配器更加靈活,在Java語言中可以通過類適配器一次適配多個適配者類(正確答案)D.適配器可以在不修改原來的適配者接口Adaptee的情況下將一個類的接口和另一個類的接口匹配起來9.3現(xiàn)需要開發(fā)一個文件轉(zhuǎn)換軟件,將文件由一種格式轉(zhuǎn)換為另一種格式,例如將XML件轉(zhuǎn)換為PDF文件、將DOC文件轉(zhuǎn)換為TXT文件,有些文件格式轉(zhuǎn)換代碼已經(jīng)存在,為將已有的代碼應(yīng)用于新軟件而不需要修改軟件的整體結(jié)構(gòu),可以使用()設(shè)計模式進行系統(tǒng)設(shè)計。[單選題]*A.適配器(Adapter)(正確答案)B.組合(Composite)C.外觀(Facade)D.橋接(Bridge)A)。10.1()設(shè)計模式將抽象部分與它的實現(xiàn)部分相分離,使它們都可以獨立變化。圖10-7所示為該設(shè)計模式的類圖,其中(D)用于定義實現(xiàn)部分的接口。*B.Bridge(橋接)(正確答案)D.Implementor(正確答案)10.2以下關(guān)于橋接模式的敘述錯誤的是()。[單選題]*A.橋接模式的用意是將抽象化與實現(xiàn)化脫耦,使得兩者可以獨立變化B.橋接模式將繼承關(guān)系轉(zhuǎn)換成關(guān)聯(lián)關(guān)系,從而降低系統(tǒng)的耦合度C.橋接模式可以動態(tài)地給一個對象增加功能,這些功能也可以被動態(tài)地撤銷(正確答案)D.橋接模式可以從接口中分離實現(xiàn)功能,使得設(shè)計更具擴展性10.3()不是橋接模式所適用的場景。[單選題]*A.一個可以跨平臺并支持多種格式的文件編輯器B.一個支持多數(shù)據(jù)源的報表生成工具,可以用不同的圖形方式顯示報表信息C.一個可動態(tài)選擇排序算法的數(shù)據(jù)操作工具(正確答案)D.一個支持多種編程語言的跨平臺開發(fā)工具11.1一個樹形文件系統(tǒng)體現(xiàn)了()模式。[單選題]*A.Decorator(裝飾)BComposite(組合)(正確答案)C.Bridge(橋接)D.Proxy(代理)11.2以下關(guān)于組合模式的敘述錯誤的是()。[單選題]*A.組合模式對葉子對象和組合對象的使用具有一致性B.組合模式可以很方便地保證在一個容器中只能有某些特定的構(gòu)件(正確答案)C.組合模式將對象組織到樹形結(jié)構(gòu)中,可以用來描述整體與部分的關(guān)系D.組合模式使得可以很方便地在組合體中加入新的對象構(gòu)件,客戶端不需要因為加入新的對象構(gòu)件而更改類庫代碼11.3現(xiàn)需要開發(fā)一個XML文檔處理軟件,可以根據(jù)關(guān)鍵字查詢指定內(nèi)容,用戶可以在XML中任意選取某一結(jié)點作為查詢的初始結(jié)點,無須關(guān)心該結(jié)點所處的層次結(jié)構(gòu)。針對該需求可以使用()模式進行設(shè)計。[單選題]*AbstractFactory(抽象工廠)B.Flyweight(享元)C.Composite(組合)D.Strategy(策略)(正確答案)12.1當(dāng)不能采用生成子類的方法進行擴充時可采用()設(shè)計模式動態(tài)地給一個對象添加一些額外的職責(zé)。[單選題]*A.Facade(外觀)B.Singleton(單例)C.Participant(參與者)D.Decorator(裝飾)(正確答案)12.2以下()不是裝飾模式的適用條件。[單選題]*A.要擴展一個類的功能或給一個類增加附加責(zé)任B.要動態(tài)地給一個對象增加功能,這些功能還可以動態(tài)撤銷C.要動態(tài)地組合多于一個的抽象化角色和實現(xiàn)化角色(正確答案)D.要通過一些基本功能的組合產(chǎn)生復(fù)雜功能,而不使用繼承關(guān)系13.1已知某子系統(tǒng)為外界提供功能服務(wù),但該子系統(tǒng)中存在多粒度十分小的類,不便()設(shè)計模式可以定義一個高層接口,這個接口使得這一子系統(tǒng)更加容易使用[單選題]*A.Facade(外觀)(正確答案)B.Singleton(單例)C.Participant(參與者)D.Decorator(裝飾)13.2圖13-6是()模式實例的結(jié)構(gòu)圖。[單選題]*A.橋接(Bridge)B.工廠方法(FactoryMethod)C.模板方法(TemplateMethod)D.外觀(Facade)(正確答案)13.3以下關(guān)于外觀模式的敘述錯誤的是()[單選題]*A.在外觀模式中,一個子系統(tǒng)的外部與其內(nèi)部的通信可以通過一個統(tǒng)一的外觀對象進行B.在增加外觀對象之后,客戶類只需要直接和外觀對象交互即可,與子系統(tǒng)類之間的復(fù)雜引用關(guān)系由外觀對象來實現(xiàn),降低了系統(tǒng)的耦合度C.外觀模式可以很好地限制客戶類使用子系統(tǒng)類,對客戶類訪問子系統(tǒng)類做限制可以提高系統(tǒng)的靈活性(正確答案)D.可以為一個系統(tǒng)提供多個外觀類14.1當(dāng)應(yīng)用程序由于使用大量的對象造成很大的存儲開銷時,可以采用()設(shè)計模式運用共享技術(shù)來有效地支持大量細粒度對象的重用。[單選題]*A.Facade(外觀)B.Composite(組合)C.Flyweight(享元)(正確答案)D.Adapter(適配器)14.2在享元模式中,外部狀態(tài)是指().[單選題]*A.享元對象可共享的所有狀態(tài)B.享元對象可共享的部分狀態(tài)C.由享元對象自己保存和維護的狀態(tài)D.由客戶端保存和維護的狀態(tài)(正確答案)14.3以下關(guān)于享元模式的敘述錯誤的是().[單選題]*A.享元模式運用共享技術(shù)有效地支持大量細粒度對象的復(fù)用B.在享元模式中可以多次使用某個對象,通過引入外部狀態(tài)使得這些對象可以有所差異C.享元對象能夠做到共享的關(guān)鍵是引入了享元池,在享元池中通過克隆方法向客戶端返回所需對象(正確答案)D.在享元模式中,外部狀態(tài)是隨環(huán)境改變而改變、不可以共享的狀態(tài),內(nèi)部狀態(tài)是不隨環(huán)境改變而改變、可以共享的狀態(tài)15.1Windows操作系統(tǒng)中的應(yīng)用程序快捷方式是()模式的應(yīng)用實例。[單選題]*A.代理(Proxy)(正確答案)B.組合(Composite)C.裝飾(Decorator)D.外觀(Facade)15.2以下關(guān)于代理模式的敘述錯誤的是(

)[單選題]*A.代理模式能夠協(xié)調(diào)調(diào)用者和被調(diào)用者,從而在一定程度上降低系統(tǒng)的耦合度B.控制對一個對象的訪問,給不同的用戶提供不同級別的使用權(quán)限時可以考慮使用遠程代理(正確答案)C.代理模式的缺點是請求的處理速度會變慢,并且實現(xiàn)代理模式需要額外的工作D.代理模式給某一個對象提供一個代理,并由代理對象控制對原對象的引用15.3代理模式有多種類型,其中智能引用代理是指()。[單選題]*A.為某一個目標(biāo)操作的結(jié)果提供臨時的存儲空間,以便多個客戶端可以共享這些結(jié)果B.保護目標(biāo)不讓惡意用戶接近C.使幾個用戶能夠同時使用一個對象而沒有沖突D.當(dāng)一個對象被引用時提供一些額外的操作,例如將此對象被調(diào)用的次數(shù)記錄下來(正確答案)16.1.圖16-5描述了一種設(shè)計模式,該設(shè)計模式不可以().ClientHandler[單選題]*A.動態(tài)決定由一組對象中的某個對象處理該請求B.動態(tài)指定處理一個請求的對象集合,并高效率地處理一個請求(正確答案)C.使多個對象都有機會處理請求,避免請求的發(fā)送者和接收者間的耦合關(guān)系D.將對象連成一條鏈,并沿著該鏈傳遞請求16.2接力賽跑體現(xiàn)了()設(shè)計模式。[單選題]*A.職責(zé)鏈(ChainofResponsibility)(正確答案)B.命令(Command)C.備忘錄(Memento)D.工廠方法(FactoryMethod)17.1以下關(guān)于命令模式的敘述錯誤的是()。[單選題]*A.命令模式將一個請求封裝為一個對象,從而可用不同的請求對客戶進行參數(shù)化B.命令模式可以將請求發(fā)送者和請求接收者解耦C.使用命令模式會導(dǎo)致某些系統(tǒng)有過多的具體命令類,導(dǎo)致在有些系統(tǒng)中命令模式變得不切實際D.命令模式是對命令的封裝,命令模式把發(fā)出命令的責(zé)任和執(zhí)行命令的責(zé)任集中在同一個類中,委派給統(tǒng)一的類進行處理(正確答案)17.2在()時無須使用命令模式。[單選題]*A.實現(xiàn)撤銷(Undo)操作和恢復(fù)(Redo)操作B.將請求的發(fā)送者和接收者解耦C.不改變聚合類的前提下定義作用于聚合中元素的新操作(正確答案)D.不同的時間指定請求,并將請求排隊18.1.對于一個語法不是特別復(fù)雜的計算機語言,可以考慮使用()模式進行設(shè)計。[單選題]*A.模板方法B.命令C.訪問者D.解釋器(正確答案)18.2關(guān)于解釋器模式,以下敘述有誤的是()。[單選題]*A.當(dāng)一個待解釋的語言中的句子可以表示為一棵抽象語法樹時可以使用解釋器模式B.在解釋器模式中使用類來表示文法規(guī)則,可以方便地改變或者擴展文法C.解釋器模式既適用于文法簡單的小語言,也適用于文法非常復(fù)雜的語言解析(正確答案)D.需要自定義一個小語言,如一些簡單的控制指令時,可以考慮使用解釋器模式19.1.迭代器模式用于處理具有()性質(zhì)的類。[單選題]*A.抽象B.聚集(正確答案)C.單例D.共享19.2.以下關(guān)于迭代器模式的敘述錯誤的是()。[單選題]*A.迭代器模式提供一種方法來訪問聚合對象,而無須暴露這個對象的內(nèi)部表示B.迭代器模式支持以不同的方式遍歷一個聚合對象C.迭代器模式定義了一個訪問聚合元素的接口,并且可以跟蹤當(dāng)前遍歷的元素,了解哪些元素已經(jīng)遍歷過而哪些沒有D.在抽象聚合類中定義了訪問和遍歷元素的方法并在具體聚合類中實現(xiàn)這些方法(正確答案)19.3.在迭代器模式中將數(shù)據(jù)存儲與數(shù)據(jù)遍歷分離,數(shù)據(jù)存儲由聚合類負責(zé),數(shù)據(jù)遍歷由迭代器負責(zé),這種設(shè)計方案是()的具體應(yīng)用。[單選題]*A.依賴倒轉(zhuǎn)原則B.接口隔離原則C.單一職責(zé)原則(正確答案)D.合成復(fù)用原則20.1.在圖形界面系統(tǒng)開發(fā)中,如果界面組件之間存在較為復(fù)雜的相互調(diào)用關(guān)系,為了降低界面組件之間的耦合度,讓它們不產(chǎn)生直接的相互引用,可以使用()設(shè)計模式。[單選題]*A.組合(Composite)B.適配器(Adapter)C.中介者(Mediator)(正確答案)D.狀態(tài)(State)20.2.在中介者模式中通過中介者將同事類解耦,這是()的具體應(yīng)用。[單選題]*A.迪米特法則(正確答案)B.接口隔離原則C.里氏代換原則D.合成復(fù)用原則20.3.以下關(guān)于中介者模式的敘述錯誤的是().[單選題]*A.中介者模式用一個中介對象來封裝一系列的對象交互B.中介者模式和觀察者模式均可以用于降低系統(tǒng)的耦合度,中介者模式用于處理對象之間一對多的調(diào)用關(guān)系,而觀察者模式用于處理多對多的調(diào)用關(guān)系(正確答案)C.中介者模式簡化了對象之間的交互,將原本難以理解的網(wǎng)狀結(jié)構(gòu)轉(zhuǎn)換成相對管單的星形結(jié)構(gòu)D.中介者將原本分布于多個對象間的行為集中在一起,改變這些行為只需要生成新的中介者子類即可,這使各個同事類可被重用21.1.很多軟件都提供了撤銷功能,()設(shè)計模式可以用于實現(xiàn)該功能。[單選題]*A.中介者B.備忘錄(正確答案)C.迭代器D.觀察者21.2.以下關(guān)于備忘錄模式的敘述的錯誤的是()。[單選題]*A.備忘錄模式的作用是在不破壞封裝的前提下捕獲一個對象的內(nèi)部狀態(tài),并在該對象之外保存這個狀態(tài),這樣可以在以后將對象恢復(fù)到原先保存的狀態(tài)B.備忘錄模式提供了一種狀態(tài)恢復(fù)的實現(xiàn)機制,使得用戶可以方便地回到一個特定的歷史步驟C.備忘錄模式的缺點在于資源消耗太大,如果類的成員變量太多,就不可避免地占用大量的內(nèi)存,而且每保存一次對象的狀態(tài)都需要消耗內(nèi)存資源D.備忘錄模式屬于對象行為型模式,負責(zé)人向原發(fā)器請求一個備忘錄,保留一段時間后將其送回給負責(zé)人,負責(zé)人負責(zé)對備忘錄的內(nèi)容進行操作和檢查(正確答案)22.1.()設(shè)計模式定義了對象間的一種一對多的依賴關(guān)系,以便當(dāng)一個對象的狀態(tài)發(fā)生改變時所有依賴于它的對象都得到通知并自動刷新。[單選題]*A.Adapter(適配器)B.Iterator(迭代器)C.Prototype(原型)D.Observer(觀察者)(正確答案)22.2.在觀察者模式中,().[單選題]*A.一個Subject對象可對應(yīng)多個Observer對象(正確答案)B.Subject只能有一個ConcreteSubject子類C.Observer只能有一個ConcreteObserver子類D.一個Subject對象必須至少對應(yīng)一個Observer對象22.3.下面這句話隱含著(

)設(shè)計模式。妹妹跟媽媽說:“媽媽,我和妹妹在院子里玩。飯做好了叫我們一聲?!盵單選題]*A.適配器B.職責(zé)鏈C.觀察者(正確答案)D.迭代器23.1.以下關(guān)于狀態(tài)模式的敘述錯誤的是()[單選題]*A.狀態(tài)模式允許一個對象在其內(nèi)部狀態(tài)改變時改變它的行為。對象看起來似乎修改了它的類B.狀態(tài)模式中引人了一個抽象類來專門表示對象的狀態(tài),而具體的狀態(tài)都繼承了該類,并實現(xiàn)了不同狀態(tài)的行為,包括各種狀態(tài)之間的轉(zhuǎn)換C.狀態(tài)模式使得狀態(tài)的變化更加清晰明了,也很容易創(chuàng)建對象的新狀態(tài)D.狀態(tài)模式完全符合開閉原則,增加新的狀態(tài)類無須對原有類庫進行任何修改(正確答案)23.2.場景()不是狀態(tài)模式的實例。[單選題]*A.銀行賬戶根據(jù)余額不同擁有不同的存/取款操作B.游戲軟件中根據(jù)虛擬角色級別的不同擁有不同的權(quán)限C.某軟件在不同的操作系統(tǒng)中呈現(xiàn)不同的外觀(正確答案)D.在會員系統(tǒng)中會員等級不同可以實現(xiàn)不同的行為23.3.分析以下代碼:

publicclassTestXYZ(

privateintbehaviour;

//GetterandSetter

publicvoidhandleAl1()(

if(behaviour==0)(//dosomething)

elseif(behaviour==1)(//dosomething)

elseif(behaviour==2)(//dosomething)

elseif(behaviour==3)(//dosomething)

.somemoreelseif...

為了提高代碼的擴展性和健壯性,可以使用()設(shè)計模式進行重構(gòu)。[單選題]*A.Visitor(訪問者)B.Facade(外觀)C.Mem

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論