《JAVA設(shè)計(jì)模式》期末考試復(fù)習(xí)資料_第1頁(yè)
《JAVA設(shè)計(jì)模式》期末考試復(fù)習(xí)資料_第2頁(yè)
《JAVA設(shè)計(jì)模式》期末考試復(fù)習(xí)資料_第3頁(yè)
《JAVA設(shè)計(jì)模式》期末考試復(fù)習(xí)資料_第4頁(yè)
《JAVA設(shè)計(jì)模式》期末考試復(fù)習(xí)資料_第5頁(yè)
已閱讀5頁(yè),還剩7頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、JAVA設(shè)計(jì)模式復(fù)習(xí)資料、單項(xiàng)選擇題1 .設(shè)計(jì)模式起源于()A、機(jī)械設(shè)計(jì)C水利工程設(shè)計(jì)2 .“不要和陌生人說(shuō)話”是(A、接口隔離B里氏替換3 .目前常見的設(shè)計(jì)模式主要有(A、23B、21B、建筑工程設(shè)計(jì)D工業(yè)電力化設(shè)計(jì))原則的通俗表述。C、依賴倒置D、迪米特)種。C、32D、4 .以下關(guān)于單一職責(zé)原則的敘述不正確的是()。A、單一職責(zé)原則的英文名稱是SingleResponsibilityPrinciple.B、單一職責(zé)原則要求一個(gè)類只有一個(gè)職責(zé)C單一職責(zé)原則有利于對(duì)象的穩(wěn)定,降低類的復(fù)雜性D單一職責(zé)原則提高了類之間的耦合性5 .以下關(guān)于依賴倒置原則的敘述不正確的是()A、依賴倒置原則的簡(jiǎn)稱是

2、DIPB、高層模塊不依賴于低層模塊,低層模塊依賴于高層模塊C依賴倒置原則中高層模塊和低層模塊都依賴于抽象D依賴倒置原則實(shí)現(xiàn)模塊間的松耦合6 .下面關(guān)于單例模式說(shuō)法錯(cuò)誤的是()A、單例模式是指一個(gè)類只有一個(gè)實(shí)例B、單例類從實(shí)現(xiàn)方式上分為懶漢式和餓漢式C單例類從功能上分為狀態(tài)單例類和無(wú)狀態(tài)單例類D可以通過(guò)繼承的方式對(duì)單例類進(jìn)行擴(kuò)展得到功能更豐富的單例類7 .下面關(guān)于工廠方法模式說(shuō)法錯(cuò)誤的是()。A、工廠方法模式使一個(gè)類是實(shí)例化延遲到其子類中B、工廠方法模式中具有抽象工廠、具體工廠、抽象產(chǎn)品和具體產(chǎn)品4個(gè)角色C工廠方法模式可以處理多個(gè)產(chǎn)品的多個(gè)等級(jí)結(jié)構(gòu)D工廠方法模式可以屏蔽產(chǎn)品類8 .在以下情況不適

3、合使用責(zé)任職責(zé)鏈模式()A、有多個(gè)對(duì)象可以處理請(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)求需要一系列的處理工作。9 .當(dāng)我們想創(chuàng)建一個(gè)具體的對(duì)象而又不希望指定具體的類時(shí),可以使用()模式A、結(jié)構(gòu)型B創(chuàng)建型C、行為型D、以上都可以10 .以下用來(lái)描述適配器模式的是()A、表示一個(gè)作用于某對(duì)象結(jié)構(gòu)中的各元素的操作,它使你可以在不改變各元素的類的前提下定義作用于這些元素的新操作。B、定義一個(gè)用于創(chuàng)建對(duì)象的接口,讓子類決定實(shí)例化哪一個(gè)類。C將一個(gè)類的接口轉(zhuǎn)換成客戶希望的

4、另外一個(gè)接口,使得原本由于接口不兼容而不能一起工作的那些類可以一起工作。D動(dòng)態(tài)地給一個(gè)對(duì)象增加一些額外的職責(zé)。11 .以下用來(lái)描述命令模式是()A、將一個(gè)請(qǐng)求封裝為一個(gè)對(duì)象,從而使你可用不同的請(qǐng)求對(duì)客戶進(jìn)行參數(shù)化;對(duì)請(qǐng)求排隊(duì)或記錄請(qǐng)求日志,以及支持可撤消的操作。B、定義一系列的算法,把它們一個(gè)個(gè)封裝起來(lái),并且使它們可相互替換,本模式使得算法可獨(dú)立于使用它的客戶而變化。C為其他對(duì)象提供一種代理以控制對(duì)這個(gè)對(duì)象的訪問(wèn)。D保證一個(gè)類僅有一個(gè)實(shí)例,并提供一個(gè)訪問(wèn)它的全局訪問(wèn)點(diǎn)。12 .以下關(guān)于創(chuàng)建型模式說(shuō)法正確的是()A、創(chuàng)建型模式關(guān)注的是對(duì)象的創(chuàng)建方法B、創(chuàng)建型模式關(guān)注的是功能的實(shí)現(xiàn)方法C創(chuàng)建型模式

5、關(guān)注的是組織類和對(duì)象的常用方法D創(chuàng)建型模式關(guān)注的是對(duì)象間的協(xié)作13 .以下用來(lái)描述裝飾模式的是()A、運(yùn)用共享技術(shù)有效地支持大量細(xì)粒度的對(duì)象B、用原型實(shí)例指定創(chuàng)建對(duì)象的種類,并且通過(guò)拷貝這些原型創(chuàng)建新的對(duì)象C將抽象部分與它的實(shí)現(xiàn)部分分離,使它們都可以獨(dú)立地變化D動(dòng)態(tài)地給一個(gè)對(duì)象添加一些額外的職責(zé)14.不應(yīng)該強(qiáng)迫客戶依賴于它們不用的方法,是關(guān)于()的表述。A、開-閉原則B接口隔離原則C、里氏替換原則D依賴倒置原則15 .以下用來(lái)描述外觀模式的是()A、為子系統(tǒng)中的一組接口提供一個(gè)一致的界面,本模式定義了一個(gè)高層接口,這個(gè)接口使得這一子系統(tǒng)更加容易使用。B、定義一個(gè)用于創(chuàng)建對(duì)象的接口,讓子類決定實(shí)

6、例化哪一個(gè)類。C保證一個(gè)類僅有一個(gè)實(shí)例,并提供一個(gè)訪問(wèn)它的全局訪問(wèn)點(diǎn)。D在不破壞封裝性的前提下,捕獲一個(gè)對(duì)象的內(nèi)部狀態(tài),并在該對(duì)象之外保存這個(gè)狀態(tài)。樣以后就可將該對(duì)象恢復(fù)到原先保存的狀態(tài)。16 .以下意圖哪個(gè)是用來(lái)描述橋梁模式()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é)。17.開閉原則的含義是一個(gè)軟件實(shí)體()A、應(yīng)當(dāng)對(duì)繼承開放,對(duì)實(shí)現(xiàn)關(guān)閉.B、應(yīng)當(dāng)對(duì)修改開放,對(duì)擴(kuò)展關(guān)閉C應(yīng)當(dāng)對(duì)擴(kuò)展開放,對(duì)修改關(guān)

7、閉D以上都不對(duì)18.以下哪個(gè)用來(lái)描述建造者模式()A、定義一個(gè)用于創(chuàng)建對(duì)象的接口,讓子類決定實(shí)例化哪一個(gè)類B、保證一個(gè)類僅有一個(gè)實(shí)例,并提供一個(gè)訪問(wèn)它的全局訪問(wèn)點(diǎn)。C將一個(gè)復(fù)雜對(duì)象的構(gòu)建與它的表示分離,使得同樣的構(gòu)建過(guò)程可以創(chuàng)建不同的表示。D運(yùn)用共享技術(shù)有效地支持大量細(xì)粒度的對(duì)象。19. 以下哪個(gè)不屬于設(shè)計(jì)模式的要素()A、模式名稱B問(wèn)題C因素D環(huán)境20. 以下不屬于結(jié)構(gòu)型模式的是()A、代理模式B工廠方法模式C、適配器模式D享元模式1-5BDADB6-10DCBBC11-15AADBA16-20BCCCB關(guān)于模式應(yīng)用場(chǎng)景,在以下哪種情況適合使用組合模式()2LA、你想使用一個(gè)已經(jīng)存在的類,而

8、它的接口不符合你的需求。B、當(dāng)一個(gè)類的實(shí)例只能有幾個(gè)不同狀態(tài)組合中的一種時(shí)。C你想表示對(duì)象的部分-整體層次結(jié)構(gòu)。D一個(gè)對(duì)象的行為取決于它的狀態(tài),并且它必須在運(yùn)行時(shí)根據(jù)狀態(tài)改變行為。99Java的異常處理機(jī)制可理解為哪一種行為模式()A、觀察者模式B迭代器模式C職責(zé)鏈模式D策略(Strategy)模式23當(dāng)創(chuàng)建一個(gè)具體的對(duì)象而又不希望指定具體的類時(shí),可以使用()模式。A、結(jié)構(gòu)型B、創(chuàng)建型C、行為型D以上都可以24.以下哪個(gè)用來(lái)描述建造者模式()A、定義一個(gè)用于創(chuàng)建對(duì)象的接口,讓子類決定實(shí)例化哪一個(gè)類B、將一個(gè)復(fù)雜對(duì)象的構(gòu)建與它的表示分離,使得同樣的構(gòu)建過(guò)程可以創(chuàng)建不同的表示。C保證一個(gè)類僅有一個(gè)

9、實(shí)例,并提供一個(gè)訪問(wèn)它的全局訪問(wèn)點(diǎn)。D運(yùn)用共享技術(shù)有效地支持大量細(xì)粒度的對(duì)象。設(shè)計(jì)模式的兩大主題是()25.A、系統(tǒng)的維護(hù)與開發(fā)B對(duì)象組合與類的繼承C系統(tǒng)架構(gòu)與系統(tǒng)開發(fā)D系統(tǒng)復(fù)用與系統(tǒng)擴(kuò)展26. 要依賴于抽象,不要依賴于具體,即針對(duì)接口編程,不要針對(duì)實(shí)現(xiàn)編程,是()的表述。A、開閉原則B接口隔離原則C里氏替換原則D依賴倒置原則27.以下意圖哪個(gè)是用來(lái)描述橋梁模式()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ì)象添28,

10、加一些額外的職責(zé)。以下意圖哪個(gè)是用來(lái)描述抽象工廠模式()A、提供一個(gè)創(chuàng)建一系列相關(guān)或相互依賴對(duì)象的接口,而無(wú)需指定它們具體的類。B、定義一個(gè)用于創(chuàng)建對(duì)象的接口,讓子類決定實(shí)例化哪一個(gè)類。C將一個(gè)類的接口轉(zhuǎn)換成客戶希望的另外一個(gè)接口。29 .D表示一個(gè)作用于某對(duì)象結(jié)構(gòu)中的各元素的操作。開閉原則的含義是一個(gè)軟件實(shí)體()A、應(yīng)當(dāng)對(duì)擴(kuò)展開放,對(duì)修改關(guān)閉.B、應(yīng)當(dāng)對(duì)修改開放,對(duì)擴(kuò)展關(guān)閉C應(yīng)當(dāng)對(duì)繼承開放,對(duì)修改關(guān)閉D、以上都不對(duì)30 .對(duì)于違反里氏替換原則的兩個(gè)類,可以采用的候選解決方案錯(cuò)誤的是:()A、創(chuàng)建一個(gè)新的抽象類C,作為兩個(gè)具體類的超類,將A和B共同的行為移動(dòng)到C中,從而解決A和B行為不完全一致

11、的問(wèn)題。B、將B到A的繼承關(guān)系改組成委派關(guān)系。C區(qū)分是“l(fā)s-a”還是“Has-a”。如果是“1s”,可以使用繼承關(guān)系,如果是"Has-a”應(yīng)該改成委派關(guān)系D以上方案錯(cuò)誤31 .以下意圖那個(gè)是用來(lái)描述ADAPTE(R適配器)?()A、將一個(gè)類的接口轉(zhuǎn)換成客戶希望的另外一個(gè)接口,本模式使得原本由于接口不兼容而不能一起工作的那些類可以一起工作。B、定義一個(gè)用于創(chuàng)建對(duì)象的接口,讓子類決定實(shí)例化哪一個(gè)類。C表示一個(gè)作用于某對(duì)象結(jié)構(gòu)中的各元素的操作,它使你可以在不改變各元素的類的前提下定義作用于這些元素的新操作。D將一個(gè)請(qǐng)求封裝為一個(gè)對(duì)象,從而使你可用不同的請(qǐng)求對(duì)客戶進(jìn)行參數(shù)化;對(duì)請(qǐng)求排隊(duì)或記

12、錄請(qǐng)求日志,以及支持可撤消的操作。32 .“不要和陌生人說(shuō)話”是()原則的通俗表述。A、接口隔離B里氏替換C、依賴倒置D迪米特33 .以下關(guān)于創(chuàng)建型模式說(shuō)法正確的是()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é)作34 .關(guān)于模式適用性,在以下情況不適合使用享元模式?()A、一個(gè)應(yīng)用程序使用了大量的對(duì)象。B、完全由于使用大量的對(duì)象,造成很大的存儲(chǔ)開銷。C、對(duì)象的大多數(shù)狀態(tài)都可變?yōu)橥獠繝顟B(tài)。D、你想使用一個(gè)已經(jīng)存在的類,而它的接口不符合你的需求。35 .適配器模式是()原則的典型應(yīng)用。A、合成聚合復(fù)用原則

13、B、里氏替換原則C、依賴倒置原則D、迪米特法則21-25CCBBD26-30-DBAAD31-35-ADADA二、填空題1、設(shè)計(jì)模式分為創(chuàng)建型、行為型、結(jié)構(gòu)型三大類型。2、設(shè)計(jì)模式中的六個(gè)主要原則主要包括:?jiǎn)我宦氊?zé)原則、依賴倒置原則、里氏替換原則接口隔離原則、迪米特法則和開閉原則。3、設(shè)計(jì)模式中,對(duì)迪米特法則進(jìn)行應(yīng)用的設(shè)計(jì)模式有外觀模式和中介者模式o4、裝飾模式模式用于動(dòng)態(tài)地給一個(gè)對(duì)象添加一些額外的職責(zé)。5、外觀模式模式要求一個(gè)子系統(tǒng)的外表與其內(nèi)部的通信必須通過(guò)一個(gè)統(tǒng)一的對(duì)象進(jìn)行。6、橋梁模式模式的定義是將抽象和現(xiàn)實(shí)解耦,使得兩者可以獨(dú)立地變化。7、觀察者模式模式定義對(duì)象間一種一對(duì)多的關(guān)系,使

14、得每當(dāng)一個(gè)對(duì)象改變狀態(tài),則所有依賴于它的對(duì)象都會(huì)得到通知并被自動(dòng)更新。8、行為型模式主要用于描述對(duì)類或?qū)ο笤鯓咏换ズ驮鯓臃峙渎氊?zé)。9、組合模式屬于一結(jié)構(gòu)型型模式、原型模式屬于創(chuàng)建型型模式。10、一模板方法模式定義一個(gè)操作中的算法框架,將一些步驟延遲到子類中實(shí)現(xiàn)。11、裝飾模式用于動(dòng)態(tài)地給一個(gè)對(duì)象添加一些額外的職責(zé)。12、外觀模式要求一個(gè)子系統(tǒng)的外表與其內(nèi)部的通信必須通過(guò)一個(gè)統(tǒng)一的對(duì)象進(jìn)行。13、策略一模式定義一組算法,將每個(gè)算法封裝起來(lái),并且使它們之間可以互換。14、一備忘錄一模式捕獲一個(gè)對(duì)象的內(nèi)部狀態(tài),并在該對(duì)象之外保存這個(gè)狀態(tài),以后可以將該對(duì)象恢復(fù)到原先保存的狀態(tài)。15、適配器一模式將一個(gè)

15、類的接口變換成客戶端所期待的另一種接口,從而使原本因接口不匹配而無(wú)法在一起工作的兩個(gè)類能夠在一起工作。1、創(chuàng)建型、行為型、結(jié)構(gòu)型2、里氏替換原則、接口隔離3、中介者模式4、裝飾模式5、外觀模式6、橋梁模式7、觀察者模式8,行為9.結(jié)構(gòu)型、創(chuàng)建型10模板方法11、裝飾12、外觀13、策略14、備忘錄15、適配器16、規(guī)格模式16、規(guī)格模式模式是策略模式和組合模式的擴(kuò)展。三、簡(jiǎn)答題1、簡(jiǎn)述依賴倒置原則的三層含義、在Java當(dāng)中的體現(xiàn)和優(yōu)點(diǎn)。答:接口隔離原則有如下兩種定義:客戶端不應(yīng)該依賴它不需要的接口;類間的依賴關(guān)系應(yīng)該建立在最小的接口上接口隔離原則的具體的含義如下:(1)一個(gè)類對(duì)另外一個(gè)類的依賴

16、性應(yīng)當(dāng)是建立在最小的接口上的(2)一個(gè)接口代表一個(gè)角色,不應(yīng)當(dāng)將不同的角色都交給一個(gè)接口。沒有關(guān)系的接口合并在一起,形成一個(gè)臃腫的大接口,這是對(duì)角色和接口的污染。因此使用多個(gè)專門的接口比使用單一的總接口要好(3)不應(yīng)該強(qiáng)迫客戶依賴于它們不用的方法。接口屬于客戶,不屬于它所在的類層次結(jié)構(gòu)。即不要強(qiáng)迫客戶使用它們不用的方法,否則這些客戶就會(huì)面臨由于這些不使用的方法的改變所帶來(lái)的問(wèn)題。2、簡(jiǎn)述工廠方法模式的定義和角色答:(1)概念定義一個(gè)創(chuàng)建產(chǎn)品對(duì)象的工廠接口,讓子類決定實(shí)例化哪個(gè)子類(2)4個(gè)角色:抽象工廠(Creator)角色:該角色是工廠方法模式的核心,與應(yīng)用系統(tǒng)無(wú)關(guān),任何在創(chuàng)建對(duì)象的工廠類必

17、須實(shí)現(xiàn)這個(gè)接口。具體工廠(ConcreteCreator)角色:該角色實(shí)現(xiàn)了抽象工廠接口,含有與應(yīng)用密切相關(guān)的邏輯,并且受到應(yīng)用程序的調(diào)用以創(chuàng)建產(chǎn)品對(duì)象。多個(gè)具體工廠分別對(duì)應(yīng)生產(chǎn)多個(gè)具體產(chǎn)品。抽象產(chǎn)品(Product)角色:該角色負(fù)責(zé)定義產(chǎn)品的共性,實(shí)現(xiàn)對(duì)產(chǎn)品最抽象的定義。具體產(chǎn)品(ConcreteProduct)角色:該角色實(shí)現(xiàn)抽象產(chǎn)品角色所聲明的接口,工廠方法模式所創(chuàng)建的每一個(gè)對(duì)象都是某個(gè)具體產(chǎn)品角色的實(shí)例。3、簡(jiǎn)述模板方法模式的定義和角色和優(yōu)點(diǎn)答:(1)概念定義一個(gè)操作中的算法的框架,而將一些步驟延遲到子類中。使得子類可以不改變一個(gè)算法的結(jié)構(gòu)即可重定義該算法的某些特定步驟(2)模板方法角

18、色:抽象模板(AbstractTemplate)角色:該角色定義一個(gè)或多個(gè)抽象操作,以便讓子類實(shí)現(xiàn);這些抽象操作是基本操作,是一個(gè)頂級(jí)邏輯的組成步驟。還需要定義并實(shí)現(xiàn)一個(gè)或幾個(gè)模板方法,實(shí)現(xiàn)對(duì)基本方法的調(diào)度,完成固定的邏輯。具體模板(ConcreteTemplate)角色:該角色實(shí)現(xiàn)抽象模板中定義的一個(gè)或多個(gè)抽象方法,每一個(gè)抽象模板角色都可以有任意多個(gè)具體模板角色與之對(duì)應(yīng),分別給出這些抽象方法的不同實(shí)現(xiàn),從而使得頂級(jí)邏輯的實(shí)現(xiàn)各不相同。4、簡(jiǎn)述代理模式的定義和角色答:(1)定義:為其他對(duì)象提供一種代理以控制對(duì)這個(gè)對(duì)象的訪問(wèn)。(2)代理模式3個(gè)角色:抽象主題(Subject)角色:該角色是真實(shí)主

19、題和代理主題的共同接口,以便在任何可以使用真實(shí)主題的地方都可以使用代理主題。代理主題(ProxySubject)角色:也叫做委托類、代理類,該角色負(fù)責(zé)控制對(duì)真實(shí)主題的引用,負(fù)責(zé)在需要的時(shí)候創(chuàng)建或刪除真實(shí)主題對(duì)象,并且在真實(shí)主題角色處理完畢前后做預(yù)處理和善后處理工作。真實(shí)主題(RealSubject)角色:該角色也叫做被委托角色、被代理角色,是業(yè)務(wù)邏輯的具體執(zhí)行者。5、簡(jiǎn)述中介者模式的定義和角色含義。答:(1)定義:用一個(gè)中介對(duì)象封裝一系列對(duì)象(同事)的交互,中介者使各對(duì)象不需要顯式的相互作用,從而使其耦合松散,而且可以獨(dú)立的改變它們之間的交互。(2)中介者模式角色:抽象中介者(Mediator

20、)角色:該角色定義出同事對(duì)象到中介者對(duì)象的統(tǒng)一接口,用于各同事角色之間的通信。具體中介者(ConcreteMediator)角色:該角色實(shí)現(xiàn)抽象中介者,它依賴于各個(gè)同事角色,并通過(guò)協(xié)調(diào)各同事角色實(shí)現(xiàn)協(xié)作行為。抽象同事(Colleague)角色:該角色定義出中介者到同事對(duì)象的接口,同事對(duì)象只知道中介者而不知道其余的同事對(duì)象。具體同事(ConcreteColleague)角色:該角色實(shí)現(xiàn)抽象同事類,每一個(gè)具體同事類都清楚自己在小范圍內(nèi)的行為,而不知道大范圍內(nèi)的目的。6、簡(jiǎn)述策略模式的定義和角色含義。答:(1)定義:定義一組算法,將每個(gè)算法都封裝起來(lái),并且使它們之間可以互換。(2)策略模式角色:環(huán)境

21、(Context)角色:該角色也叫上下文角色,起到承上啟下的作用,屏蔽高層模塊對(duì)策略、算法的直接訪問(wèn),它持有一個(gè)Strategy類的引用。抽象策略(Strategy)角色:該角色對(duì)策略、算法進(jìn)行抽象,通常定義每個(gè)策略或算法必須具有的方法和屬性。具體策略(ConcreteStrategy)角色:該角色實(shí)現(xiàn)抽象策略中的具體操作,含有具體的算法。7、簡(jiǎn)述設(shè)計(jì)模式的10要素。答:(1)模式名稱,簡(jiǎn)潔反映設(shè)計(jì)模式的問(wèn)題、解決方案和效果(2)問(wèn)題,解釋了設(shè)計(jì)問(wèn)題和問(wèn)題的前因后果(3)環(huán)境或初始環(huán)境,說(shuō)明模式的使用范圍,也叫前提條件(4)解決方案,描述模式設(shè)計(jì)的組成部分,各部分職責(zé)和協(xié)作方式(5)效果,描述使用效果和使用模式應(yīng)權(quán)衡的問(wèn)題(6)舉例,使用一個(gè)或幾個(gè)應(yīng)用示例說(shuō)明特定的環(huán)境、以及模式如何應(yīng)用到環(huán)境中,最終得到什么效果(7)末態(tài)環(huán)境,模式應(yīng)用到系統(tǒng)之后的狀態(tài),包括好結(jié)果和壞結(jié)果,以及新狀態(tài)含有的其他問(wèn)題(8)推理,推理解釋模式的步驟、規(guī)則(9)其他有關(guān)模式,描述現(xiàn)有系統(tǒng)中此模式與其他模式的動(dòng)態(tài)和靜態(tài)關(guān)系。如相互依賴或替換。(10)已知應(yīng)用。8、簡(jiǎn)述依賴倒置原則答:包括三層含義:高層模塊不應(yīng)該依賴底層模塊,兩者都依賴其抽象抽象不依賴細(xì)節(jié)細(xì)節(jié)應(yīng)該依賴于抽象依賴倒置原則在Java中的體現(xiàn):模塊間的依賴通過(guò)抽象發(fā)生,實(shí)現(xiàn)類之間不發(fā)生直接的依賴關(guān)系,其依賴關(guān)系是通過(guò)接口或抽象類

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論