【正文】
不屬于結(jié)構(gòu)型模式是 ( D ) D. SINGLETON(單例)以下不屬于行為型模式是( D ) MEMENTO(備忘錄)以下意圖那個(gè)是用來(lái)描述BUILDER(生成器)( B ) 將一個(gè)復(fù)雜對(duì)象的構(gòu)建與它的表示分離,使得同樣的構(gòu)建過(guò)程可以創(chuàng)建不同的表示。以下意圖那個(gè)是用來(lái)描述PROTOTYPE(原型)( D )D. 用原型實(shí)例指定創(chuàng)建對(duì)象的種類,并通過(guò)拷貝這些原型創(chuàng)建新的對(duì)象。以下意圖那個(gè)是用來(lái)描述ADAPTER(適配器)( A )將一個(gè)類的接口轉(zhuǎn)換成客戶希望的另外一個(gè)接口。本模式使得原本由于接口不兼容而不能一起工作的那些類可以一起工作。8. 以下意圖那個(gè)是用來(lái)描述BRIDGE(橋接)( B )B. 將抽象部分與它的實(shí)現(xiàn)部分分離,使它們都可以獨(dú)立地變化。9. 以下哪個(gè)意圖是用來(lái)描述COMPOSITE(組合)?( C ) 將對(duì)象組合成樹(shù)形結(jié)構(gòu)以表示部分整體的層次結(jié)構(gòu)。以下那個(gè)是用來(lái)描述DECORATOR(裝飾)( D ) 動(dòng)態(tài)地給一個(gè)對(duì)象添加一些額外的職責(zé)。1以下意圖那個(gè)是用來(lái)描述 FACADE(外觀)?( A ) 為子系統(tǒng)中的一組接口提供一個(gè)一致的界面,本模式定義了一個(gè)高層接口,這個(gè)接口使得這一子系統(tǒng)更加容易使用。1以下意圖那個(gè)是用來(lái)描述FLYWEIGHT(享元)( B )B. 運(yùn)用共享技術(shù)有效地支持大量細(xì)粒度的對(duì)象。1以下意圖那個(gè)是用來(lái)描述 PROXY(代理)( C )C. 為其他對(duì)象提供一種代理以控制對(duì)這個(gè)對(duì)象的訪問(wèn)。1以下意圖那個(gè)是用來(lái)描述CHAIN OF RESPONSIBILITY(職責(zé)鏈)?( D ),從而避免請(qǐng)求的發(fā)送者和接收者之間的耦合關(guān)系。1以下意圖那個(gè)是用來(lái)描述 COMMAND(命令)( A )A、將一個(gè)請(qǐng)求封裝為一個(gè)對(duì)象;對(duì)請(qǐng)求排隊(duì)或記錄請(qǐng)求日志,以及支持可撤消的操作1. (命令)模式把一個(gè)請(qǐng)求或操作封裝到一個(gè)對(duì)象中。2. (裝飾)模式封裝一些施加于某種數(shù)據(jù)結(jié)構(gòu)元素之上的操作,這樣修改操作不影響數(shù)據(jù)結(jié)構(gòu)。3. (外觀)模式為子系統(tǒng)對(duì)外提供的一組接口提供一個(gè)統(tǒng)一的界面。4. (策略)模式針對(duì)一組算法,將每一個(gè)算法封裝到具有共同接口的獨(dú)立的類中,從而使算法可相互替換。5. (觀察者)模式讓多個(gè)對(duì)象同時(shí)監(jiān)聽(tīng)某一個(gè)主題對(duì)象,主題對(duì)象的變化會(huì)通知監(jiān)聽(tīng)對(duì)象,使得監(jiān)聽(tīng)對(duì)象可以自動(dòng)更新。6. (適配器)模式把一個(gè)類的接口變換成客戶端所期待的另一種接口。7. (訪問(wèn)者)模式以對(duì)客戶端透明方式擴(kuò)展對(duì)象的功能。8. (簡(jiǎn)單工廠)模式定義一個(gè)具體的工廠類來(lái)負(fù)責(zé)創(chuàng)建一些類的實(shí)例,而這些被創(chuàng)建的類應(yīng)有一個(gè)共同的父類。9. (工廠方法)模式定義一個(gè)用于創(chuàng)建對(duì)象的接口,讓子類決定實(shí)例化哪一個(gè)類,從而使一個(gè)類實(shí)例化延遲到其子類。10. (抽象工廠類)模式提供了一個(gè)創(chuàng)建一系列相關(guān)或相互依賴對(duì)象的接口,而無(wú)需指定他們具體的類。四、問(wèn)答題(分值30)簡(jiǎn)述什么是工廠模式,以及他解決的問(wèn)題,應(yīng)用的環(huán)境,解決的方案,模式的本質(zhì)? 定義一個(gè)用于創(chuàng)建對(duì)象的接口,讓子類決定將哪一個(gè)類實(shí)例化;利用工廠來(lái)解決接口選擇的問(wèn)題的模式 ;應(yīng)用環(huán)境:當(dāng)一個(gè)類無(wú)法預(yù)料要?jiǎng)?chuàng)建哪種類的對(duì)象或是一個(gè)類需要由子類來(lái)指定 創(chuàng)建的對(duì)象時(shí),就需要用到工廠模式; 解決方案:定義一個(gè)創(chuàng)建對(duì)象的接口,讓子類來(lái)決定具體實(shí)例化哪一個(gè)類 ;本質(zhì)就是根據(jù)不同的情況來(lái)選擇不同的接口什么是單一職責(zé)原則?基本思想:SRP使得一個(gè)類或一個(gè)模塊承擔(dān)的責(zé)任盡可能少,是盡可能少的因素的因素或動(dòng)機(jī)影響該類或該模塊,即增大類或模塊的內(nèi)聚性,減少其耦合,SRP是所有原則中最簡(jiǎn)單的之一,也是最難正確運(yùn)用之一繼承和組合各有什么優(yōu)缺點(diǎn)?組 合 關(guān) 系繼 承 關(guān) 系優(yōu)點(diǎn):不破壞封裝,整體類與局部類之間松耦合,彼此相對(duì)獨(dú)立缺點(diǎn):破壞封裝,子類與父類之間緊密耦合,子類依賴于父類的實(shí)現(xiàn),子類缺乏獨(dú)立性優(yōu)點(diǎn):具有較好的可擴(kuò)展性缺點(diǎn):支持?jǐn)U展,但是往往以增加系統(tǒng)結(jié)構(gòu)的復(fù)雜度為代價(jià)優(yōu)點(diǎn):支持動(dòng)態(tài)組合。在運(yùn)行時(shí),整體對(duì)象可以選擇不同類型的局部對(duì)象缺點(diǎn):不支持動(dòng)態(tài)繼承。在運(yùn)行時(shí),子類無(wú)法選擇不同的父類優(yōu)點(diǎn):整體類可以對(duì)局部類進(jìn)行包裝,封裝局部類的接口,提供新的接口缺點(diǎn):子類不能改變父類的接口缺點(diǎn):整體類不能自動(dòng)獲得和局部類同樣的接口優(yōu)點(diǎn):子類能自動(dòng)繼承父類的接口缺點(diǎn):創(chuàng)建整體類的對(duì)象時(shí),需要?jiǎng)?chuàng)建所有局部類的對(duì)象優(yōu)點(diǎn):創(chuàng)建子類的對(duì)象時(shí),無(wú)須創(chuàng)建父類的對(duì)象代理模式和中介者模式有什么不同?1,中介者模式:A,B之間的對(duì)話通過(guò)C來(lái)傳達(dá)。A,B可以互相不認(rèn)識(shí)(減少了A和B對(duì)象間的耦合)2,代理模式:A要送B禮物,A,B互相不認(rèn)識(shí),那么A可以找C來(lái)幫它實(shí)現(xiàn)送禮物的愿望(封裝了A對(duì)象)3,外觀模式:A和B都要實(shí)現(xiàn)送花,送巧克力的方法,那么我可以通過(guò)一個(gè)抽象類C實(shí)現(xiàn)送花送巧克力的方法(A和B都繼承C)。(封裝了A,B子類)代理模式和外觀者模式這兩種模式主要不同就是代理模式針對(duì)的是單個(gè)對(duì)象,而外觀模式針對(duì)的是所有子類。五、應(yīng)用題(分值15)為實(shí)現(xiàn)應(yīng)用的界面與應(yīng)用數(shù)據(jù)的分離,一個(gè)表格對(duì)象和一個(gè)柱狀圖對(duì)象可使用不同的表示形式描述同一個(gè)應(yīng)用數(shù)據(jù)對(duì)象的信息。請(qǐng)根據(jù)敘述述,選擇設(shè)計(jì)模式,并給出設(shè)計(jì)模式的類圖。觀察者模式