設計模式題庫_第1頁
設計模式題庫_第2頁
設計模式題庫_第3頁
設計模式題庫_第4頁
設計模式題庫_第5頁
免費預覽已結束,剩余1頁可下載查看

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、1.1 (D)以用戶的觀點表示系統(tǒng)的目標,它是所有視圖的核心,該視圖描述系統(tǒng)的需求。A結構視圖B行為視圖C實現(xiàn)視圖D用戶視圖E環(huán)境視圖F物理視圖G邏輯視圖1.2 類(Class時裝了數(shù)據和行為,是面向對象的重要組成部分,它是具有相同(ABC)的對象集合的總稱。A屬性B操彳C關系D約束E繼承F多態(tài)G封裝1 面向對象設計原則首先都是(B)的原則,遵循這些設計原則可以有效地提高系統(tǒng)的復用性,同時提高系統(tǒng)的可維護性。A重載B復用C面向對象D封裝E繼承F多態(tài)G抽象1 以下說法錯誤的有(BDH)A對于面向對象的軟件系統(tǒng)設計來說,在支持可維護性的同時,需要提高系統(tǒng)的可復用性。B迪米特法則要求一個軟件實體應當

2、盡可能多的與其他實體發(fā)生相互作用。C單一職責原則要求在軟件系統(tǒng)中,一個類只負責一個功能領域中的相應職責。D開閉原則要求一個軟件實體應當對擴展開放,對修改關閉,但是為了增強系統(tǒng)功能,可以隨便的修改源代碼。E里氏代換原則可以通俗表述為在軟件中如果能夠使用基類對象,那么一定能夠使用其子類對象。F依賴倒轉原則要求抽象不應該依賴于細節(jié),細節(jié)應該依賴于抽象;要針對接口編程,不要針對實現(xiàn)編程。G接口隔離原則要求客戶端不應該依賴那些它不需要的接口,即將一些大的接口細化成一些小的接口供客戶端使用。H合成復用原則要求復用時盡量使用繼承,而不使用對象組合。10.1 結構型模式分為類模式和對象模式,以下可以是類模式的

3、是(A)A適配器模式B橋接模式C組合模式D裝飾模式E外觀模式F享元模式G代理模式10.2 設計模式一般有如下幾個基本要素:模式名稱、問題、目的、解決方案、效果、實例代碼和相關設計模式,其中的關鍵元素包括以下四個方面(ABDE)A模式名稱B問題C目的D解決方案E效果F實例代碼G相關設計模式1 以下關于簡單工廠模式敘述錯誤的是(A)A它屬于GoF23種設計模式B它是最簡單的設計模式之一C它是學習其他創(chuàng)建型模式的基礎D它只需要記住一個簡單的參數(shù)即可獲得所需對象的實例E它類中的方法通常為靜態(tài)方法F它返回的類都有一個公共的父類和公共的方法1 簡單工廠模式包含三個角色是(ABC)A工廠角色B抽象產品口C具

4、體產品角色D抽象接口角色E生產者角色F用戶角色G使用者角色19.1 Java中的(A)是指在程序運行時獲取已知名稱的類或已有對象的相關信息的一種機制,包括類的方法、屬性、超類等信息,還包括實例的創(chuàng)建和實例類型的判斷等A反射B繼承C多態(tài)D組合E聚合F抽象G抽象19.2 工廠方法模式與簡單工廠模式相比的優(yōu)點有(ABCD)A工廠方法模式很好的符合開閉原則B工廠方法類模式中工廠類職責變輕,業(yè)務邏輯相對簡單C具體產品與工廠類之間的耦合降低D工廠方法模式是簡單工廠模式的進一步抽象和推廣EFactory類內的方法常使用靜態(tài)方法F只提供一個工廠類G不需要考慮對象的具體創(chuàng)建細節(jié)1 現(xiàn)有5個產品族,分布于3各不同

5、的產品等級結構,只要指明一個產品所處的產品族以及它所在的等級結構,就可以唯一地確認這個產品。那么使用抽象工廠方法模式只需要提供(A)個具體工廠即可。A5B3C8D15E1F30G41 抽象工廠模式的優(yōu)點有(A)A抽象工廠模式隔離了具體類的生成,使得客戶并不需要知道什么被創(chuàng)建。B所有的具體工廠都實現(xiàn)了抽象工廠中定義的那些公共接口,因此只需改變具體工廠的實例,就可以在某種程度上改變整個軟件系統(tǒng)的行為。C應用抽象工廠模式可以實現(xiàn)高內聚低耦合的設計目的,因此抽象工廠模式得到了廣泛的應用。D增加新的具體工廠和產品族很方便,無須修改已有系統(tǒng),符合“開閉原則”。E添加新的產品對象時,難以擴展抽象工廠來生產新

6、種類的產品F開閉原則的傾斜性(增加新的工廠和產品族容易,增加新的產品等級結構麻煩)對于建造一輛汽車,使用建造者模式中ConcreteBulider(具體建造者)需要做的是(A)A提供汽車的各個部件的構造和裝配方法B建造汽車C建造汽車部件并且組合成汽車D指揮汽車建造E定義抽象接口建造者模式的優(yōu)點有哪些(ABC)A分步驟構建一個復雜的對象B應對復雜對象各個部分”的頻繁需求變動C用戶使用不同的具體建造者即可得到不同的產品對象D如果產品的內部變化復雜,可能會導致需要定義很多具體建造者類來實現(xiàn)這種變化,導致系統(tǒng)變得很龐大E如果產品之間的差異性很大,則不適合使用建造者模式,因此其使用范圍受到一定的限制對于

7、原型*II式中,Java語言提供的clone()方法將對象復制了一份并返回給調用者。一般而言,對于clone()方法描述錯誤的是(A)A對任何白對象x,都有x.clone()=x,即克隆對象與原對象是同一個對象B對任何白對象x,都有x.clone().getClass()=x.getClass(),即克隆對象與原對象的類型一樣C如果對象x的equals。方法定義恰當,那么x.clone().equals(x)應該成立D該clone()方法是深克隆對于原型模式的優(yōu)點有(ABCD)A當創(chuàng)建新的對象實例較為復雜時,使用原型模式可以簡化對象的創(chuàng)建過程,通過一個已有實例可以提高新實例的創(chuàng)建效率。B可以動

8、態(tài)增加或減少產品類。C原型模式提供了簡化的創(chuàng)建結構。D可以使用深克隆的方式保存對象的狀態(tài)。E實現(xiàn)深克隆時需要編寫較為復雜的代碼。F需要為每一個類配備一個克隆方法單例模式的最主要的思想是(A)C構造方法靜態(tài)化F類的方法不允許被訪問B必須自行創(chuàng)建這個實例D類的方法不能被訪問F實例的創(chuàng)建者不受限制A構造方法私有化B使用默認構造方D類私有化E類不允許被繼承單例模式的要點(ABC)A某個類只能有一個實例C必須自行向整個系統(tǒng)提供這個實例E實例的創(chuàng)建個數(shù)不受限制在筆記本電腦用電的例子中,屬于適配器的是(A)A充電器B插座C筆記本D筆記本電源插孔適配器模式的優(yōu)點(ABC)A將目標類和適配者類解耦B增加了類的透

9、明性和復用性C靈活性和擴展性都非常好,通過使用配置文件,可以很方便地更換適配器D其使用有一定的局限性,不能將一個適配者類和它的子類都適配到目標接口。E要想置換適配者類的方法不容易橋接模式將繼承關系轉換為(A)關系,從而降低了類與類之間的耦合,減少了代碼編寫量。A關聯(lián)B多態(tài)C實現(xiàn)D重構E抽象橋接模式的優(yōu)點(ABC)A分離抽象接口及其實現(xiàn)部分。B橋接模式提高了系統(tǒng)的可擴充性,在兩個變化維度中任意擴展一個維度,都不需要修改原有系統(tǒng)。C實現(xiàn)細節(jié)對客戶透明,可以對用戶隱藏實現(xiàn)細節(jié)。D橋接模式的引入會增加系統(tǒng)的理解與設計難度E橋接模式要求正確識別出系統(tǒng)中兩個獨立變化的維度,因此其使用范圍具有一定的局限性。

10、組合模式描述了如何將容器對象和葉子對象進行(A)組合,使得用戶在使用時無須對它們進行區(qū)分,可以一致地對待容器對象和葉子對象A遞歸B重構C并列D內置E關聯(lián)組合模式包含角色有(ABCD)A抽象構件B葉子構件C容器構件D客戶類E樹根構F枝干構件以下不適合使用裝飾模式的是(A)A裝飾某個對象時需要修改該類的對象B在不影響其他對象的情況下,以動態(tài)、透明的方式給單個對象添加職責C需要動態(tài)地給一個對象增加功能,這些功能也可以動態(tài)地被撤銷D當不能采用繼承的方式對系統(tǒng)進行擴充或者采用繼承不利于系統(tǒng)擴展和維護時E只需要對某個對象進行外觀修飾而不需要修改其內在屬性時裝飾模式的優(yōu)點有哪些(ABC)A可以通過一種動態(tài)的

11、方式來擴展一個對象的功能,通過配置文件可以在運行時選擇不同的裝飾器,從而實現(xiàn)不同的行為B可以使用多個具體裝飾類來裝飾同一對象,得到功能更為強大的對象C具體構件類與具體裝飾類可以獨立變化,用戶可以根據需要增加新的具體構件類和具體裝飾類,在使用時再對其進行組合,原有代碼無須改變,符合“開閉原則”D使用裝飾模式進行系統(tǒng)設計時將產生很多小對象E裝飾模式比繼承更加易于出錯,排錯也很困難,對于多次裝飾的對象,調試時尋找錯誤可能需要逐級排查,較為煩瑣。外觀模式指的是外部與一個子系統(tǒng)的通信必須通過一個統(tǒng)一的外觀對象進行,為子系統(tǒng)中的一組(A)提供一個一致的界面。A接口B按鈕C函數(shù)調用D系統(tǒng)調用E連接外觀模式有

12、哪些優(yōu)點(ABCD)A對客戶屏蔽子系統(tǒng)組件,減少了客戶處理的對象數(shù)目并使得子系統(tǒng)使用起來更加容易B通過引入外觀模式,客戶代碼將變得很簡單,與之關聯(lián)的對象也很少C實現(xiàn)了子系統(tǒng)與客戶之間的松耦合關系,這使得子系統(tǒng)的組件變化不會影響到調用它的客戶類,只需要調整外觀類即可D降低了大型軟件系統(tǒng)中的編譯依賴性,并簡化了系統(tǒng)在不同平臺之間的移植過程,因為編譯一個子系統(tǒng)一般不需要編譯所有其他的子系統(tǒng)E不能很好地限制客戶使用子系統(tǒng)類F增加新的子系統(tǒng)可能需要修改外觀類或客戶端的源代碼,違背了“開閉原則”(A)正是為解決這一類問題而誕生的。享元模式通過共享技術實現(xiàn)相同或相似對象的重用。A享元模式B外觀模式C代理模式

13、D組合模式E命令模式享元模式的優(yōu)點有哪些(AB)A享元模式的優(yōu)點在于它可以極大減少內存中對象的數(shù)量,使得相同對象或相似對象在內存中只保存一份B享元模式的外部狀態(tài)相對獨立,而且不會影響其內部狀態(tài),從而使得享元對象可以在不同的環(huán)境中被共享C享元模式運用共享技術有效地支持大量細粒度對象的復用。D享元模式使得系統(tǒng)更加復雜,需要分離出內部狀態(tài)和外部狀態(tài),這使得程序的邏輯復雜化。E為了使對象可以共享,享元模式需要將享元對象的狀態(tài)外部化,而讀取外部狀態(tài)使得運行時間變長。(A)可以在客戶端和目標對象之間起到中介的作用。A代理對象B被代理對象C使用代理白對象D中間對象E中介對象代理模式包含哪些角色(ABC)A抽

14、象主題角色B代理主題角色C真實主題角色D被代理主題角色E中介主題角色F中間主題角色在職責鏈模式里,很多對象由每一個對象對其(A)對象的引用而連接起來形成一條鏈。A下家B上家C周圍D所有E自身職責鏈可以是(ABC),沿著鏈來傳遞請求。A一條直線B一個環(huán)C一個樹形結構D網狀在軟件設計中,我們經常需要向某些對象發(fā)送請求,但是并不知道請求的接收者是誰,也不知道被請求的操作是哪個,我們只需在程序運行時指定具體的請求接收者即可,此時,可以使用(A)來進行設計。A命令*II式B代理模式C橋接模式D適配者模式E解釋器模式命令模式的優(yōu)點有哪些(ABCD)A降低系統(tǒng)的耦合度。B新的命令可以很容易地加入到系統(tǒng)中。C

15、可以比較容易地設計一個命令隊列和宏命令(組合命令)。D可以方便地實現(xiàn)對請求的Undo和Redo。E使用命令模式可能會導致某些系統(tǒng)有過多的具體命令類。(A)描述了如何構成一個簡單的語言解釋器,主要應用在使用面向對象語言開發(fā)的編譯器中。A解釋器模式B命令模式C代理模式D迭代器模式E適配器模式以下說法正確的是(ABC)A抽象語法樹描述了如何構成一個復雜的句子,通過對抽象語法樹的分析,可以識別出語言中的終結符和非終結符類。B在解釋器模式中,每一種終結符和非終結符都有一個具體類與之對應,正因為使用類來表示每一個語法規(guī)則,使得系統(tǒng)具有較好的擴展性和靈活性。C解釋器模式的優(yōu)點包括易于改變和擴展文法、易于實現(xiàn)

16、文法和增加了新的解釋表達式的方式。D解釋器模式的執(zhí)行效率很高E解釋器的應用場景很廣泛在迭代器模式中,提供一個(A)的迭代器來對聚合對象進行訪問和遍歷。A外部B內部C中間D以上三者都可以迭代器模式的優(yōu)勢有哪些(ABCD)A它支持以不同的方式遍歷一個聚合對象。B迭代器簡化了聚合類。C在同一個聚合上可以有多個遍歷。D在迭代器模式中,增加新的聚合類和迭代器類都很方便,無須修改原有代碼,滿足“開閉原則”的要求E增加新的聚合類需要對應增加新的迭代器類F類的個數(shù)成對增加,這在一定程度上增加了系統(tǒng)的復雜性以下使用中介者模式的是(A)AQQ群聊BQQ分組CQQ視頻DQQ一對一聊天中介者模式是為了解決在用戶與用戶

17、直接聊天的設計方案中,用戶對象之間存在很強的關聯(lián)性,將導致系統(tǒng)出現(xiàn)如下問題(ABC)A系統(tǒng)結構復雜B對象可重用性差C系統(tǒng)擴展性低D系統(tǒng)易于維護一種類似“后悔藥”的機制是(A)A備忘錄模式B觀察者模式C終結者模式D后悔模式備忘錄模式包含下列哪些角色(ABC)A原發(fā)器B備忘錄C負責人D代理以下哪一個模式是定義對象間的一種一對多依賴關系,使得每當一個對象狀態(tài)發(fā)生改變時,其相關依賴對象皆得到通知并被自動更新(A)A觀察者模式B代理模式C外觀模式D備忘錄模式觀察者模式有哪些優(yōu)點(AB)A實現(xiàn)表示層和數(shù)據邏輯層的分離B支持廣播通信C支持以不同的方式遍歷一個聚合對象D簡化了對象之間的交互,將各同事解耦以下哪一個模式是允許一個對象在其內部狀態(tài)改變時改變它的行為,對象看起來似乎修改了它的類(A)A狀態(tài)模式B享元模式C職責鏈模式D命令模式以下模式哪些是對象行為模式(AB)A狀態(tài)模式B觀察者模式C模版方法模式D解釋器模式以下哪一個模式是對算法的封裝,它把算法的

溫馨提示

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

最新文檔

評論

0/150

提交評論