




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、三、題目猜測(cè) 填空題: 1.請(qǐng)從外觀、組合、工廠方法、模板方法、觀看者、單件、抽象工廠、命令、迭代器、代理、適配器模式中選擇7種填入下列的空缺中。P610 1) 工廠方法 模式中,父類負(fù)責(zé)定義創(chuàng)建對(duì)象的公共接口,子類打算要?jiǎng)?chuàng)建的具體類是哪一個(gè)。2) 抽象工廠 模式供應(yīng)一系列相關(guān)或相互依靠對(duì)象的接口而無需指定它們具體的類。3) 單 件 模式確保某一個(gè)類僅有一個(gè)實(shí)例,并自行實(shí)例化并向整個(gè)系統(tǒng)供應(yīng)這個(gè)實(shí)例。4) 組 合 模式將對(duì)象組合成樹形結(jié)構(gòu)以表示“部分-整體”的層次結(jié)構(gòu)。使得用戶對(duì)單個(gè)對(duì)象和組合對(duì)象的使用具有全都性。5) 外 觀 模式定義了一個(gè)高層接口,這個(gè)接口使得這一子系統(tǒng)更加簡(jiǎn)潔使用,為子系
2、統(tǒng)中的一組接口供應(yīng)一個(gè)全都的界面,簡(jiǎn)化了一群類的接口。6) 觀看者 模式定義對(duì)象間的一種一對(duì)多的依靠關(guān)系,當(dāng)一個(gè)對(duì)象的狀態(tài)發(fā)生轉(zhuǎn)變時(shí), 全部依靠于它的對(duì)象都得到通知并被自動(dòng)更新,也就是讓對(duì)象能在狀態(tài)轉(zhuǎn)變時(shí)被通知。7) 模 板 模MVC模型式定義一個(gè)操作中的算法的骨架,而將一些步驟延遲到子類中。8) 迭代器模式在對(duì)象的集合之中游走,而不暴露集合的實(shí)現(xiàn)。9) 代理模式包裝對(duì)象,以把握對(duì)比對(duì)象的訪問。10) 適配器模式封裝對(duì)象,并供應(yīng)不同的接口。2.工廠模式分為(簡(jiǎn)潔工廠),(工廠方法),(抽象工廠)三種類型。3.適配器模式,分為類的適配器和對(duì)象的適配器兩種實(shí)現(xiàn)。其中類的適配器接受的是(繼承)關(guān)系,
3、而對(duì)象適配器接受的是(組合聚合)關(guān)系。4.設(shè)計(jì)模式的基本要素有(名字 ),(意圖 ),(問題 ),( 解決方案 ),(參與者與協(xié)作者 ),( 實(shí)現(xiàn)),(一般性結(jié)構(gòu))。5.MVC模型的基本工作原理是基于(觀看者)模式,實(shí)現(xiàn)是基于(命令)模式6.面對(duì)對(duì)象的六條基本原則包括:開閉原則,里式代換原則,合成聚合原則以及(依靠倒轉(zhuǎn)),(迪米特法則)(接口隔離)。7當(dāng)我們想用不同的懇求對(duì)客戶進(jìn)行參數(shù)化時(shí),可以使用( 命令 )模式。8當(dāng)我們想封裝不同算法并使它們可相互替換時(shí),可以使用(策略)模式。9. 每一個(gè)設(shè)計(jì)模式都集中于一個(gè)特定的(設(shè)計(jì)問題),描述了(相互通信的對(duì)象)或者(類)以及(解決方案)和(解決效果
4、 )。10設(shè)計(jì)模式中應(yīng)優(yōu)先使用(對(duì)象組合)而不是(類繼承)。11. 面對(duì)對(duì)象(OO)的基礎(chǔ)包括(抽象)(封裝)(多態(tài))(繼承)。12.(狀態(tài)模式)允許一個(gè)對(duì)象基于內(nèi)部狀態(tài)而擁有不同的行為。13.模式不是代碼,而是(針對(duì)設(shè)計(jì)問題)的通用解決方案。14.觀看者模式定義了對(duì)象之間(一對(duì)多)的關(guān)系。15.觀看者和可觀看者之間用(松耦合方式)結(jié)合。16設(shè)計(jì)模式的兩大主題是:(對(duì)象組合) 和 (類繼承)的爭(zhēng)辯。 17.(組合)和(托付)可用于運(yùn)行時(shí)動(dòng)態(tài)地加上新的行為。18.工廠方法使用(繼承)把對(duì)象的創(chuàng)建托付給子類,子類實(shí)現(xiàn)了工廠方法來創(chuàng)建對(duì)象。19.抽象工廠方法使用(對(duì)象組合)使對(duì)象的創(chuàng)建被實(shí)現(xiàn)在工廠接
5、口所暴露出來的方法中。20.在Java中實(shí)現(xiàn)單件模式,需要私有的(構(gòu)造器)(一個(gè)靜態(tài)方法)和(一個(gè)靜態(tài)變量)21命令模式將(發(fā)出懇求)的對(duì)象和(執(zhí)行懇求)的對(duì)象解耦。22.當(dāng)需要一個(gè)現(xiàn)有的類而其接口不符合需求時(shí),可使用(適配器)模式。23.適配器模式的兩種模式是(對(duì)象適配器)和(類適配器)。24.(模板方法)定義了算法的步驟,把這些步驟的實(shí)現(xiàn)延遲到了子類。25.(代理模式)為另一個(gè)對(duì)象供應(yīng)代表,以便把握客戶對(duì)對(duì)象的訪問。26.裝飾著模式為對(duì)象加上(行為)而代理模式則是(把握訪問)。27.開閉原則:(擴(kuò)開放放)(修改關(guān)閉)。28.代理模式分為哪4種:(虛擬代理)(遠(yuǎn)程代理)(平安代理)(聰慧引用
6、)。選擇題 1設(shè)計(jì)模式具有的優(yōu)點(diǎn)。(A)A. 適應(yīng)需求變化 B.程序易于理解C. 削減開發(fā)過程中的代碼開發(fā)工作量 D.簡(jiǎn)化軟件系統(tǒng)的設(shè)計(jì)2. 若系統(tǒng)中的某子模塊需要為其它模塊供應(yīng)訪問不同數(shù)據(jù)庫系統(tǒng)(Oracle、SQL Server、DB2 UDB 等)的功能,這些數(shù)據(jù)庫系統(tǒng)供應(yīng)的訪問接口有肯定的差異,但訪問過程卻都是相同的,例如,先連接數(shù)據(jù)庫,再打開數(shù)據(jù)庫,最終對(duì)數(shù)據(jù)進(jìn)行查詢,( D ) 設(shè)計(jì)模式可抽象出相同的數(shù)據(jù)庫訪問過程;A. 外觀 B. 裝飾 C. 單件 D. 模板方法3 系統(tǒng)中的文本顯示類(TextView)和圖片顯示類(PictureView)都繼承了組件類(Component),
7、分別顯示文本和圖片內(nèi)容,現(xiàn)需要構(gòu)造帶有滾動(dòng)條、或者帶有黑色邊框、或者既有滾動(dòng)條又有黑色邊框的文本顯示控件和圖片顯示控件,但期望最多只增加三個(gè)類,( B )設(shè)計(jì)模式可以實(shí)現(xiàn)該目的。A. 外觀 B. 裝飾 C.單件 D. 模板方法4. 下面的類圖表示的是哪個(gè)模式?( A )A、抽象工廠模式(Abstract Factory)B、工廠方法模式(Factory Method)C、命令模式(Command)D、責(zé)任鏈模式(Chain of Responsibility)5. 下面的類圖表示的是哪個(gè)設(shè)計(jì)模式?( B )A、代理模式(Proxy) B、裝飾模式(Decorator)C、橋接模式(Bridge
8、) D、觀看者模式(Observer)6.下面的類圖表示的是哪個(gè)模式?( B )A、代理模式(Proxy) B、外觀模式(Facade)C、適配器模式(Adapter) D、橋接模式(Bridge)7.下面的類圖表明白哪個(gè)模式?( D )A、責(zé)任鏈模式(Chain of Responsibility) B、命令模式(Command)C、備忘錄模式 (Memento) D、工廠方法模式(Factory Method)8. 下面的類圖表示的是哪個(gè)設(shè)計(jì)模式?( D )A、模板方法模式(Template Method) B、命令模式 (Command)C、單例模式(Singleton) D、狀態(tài)模式(
9、State)9. 下面的類圖表示的是哪個(gè)設(shè)計(jì)模式?( C )A、模板方法模式(Template Method) B、命令模式 (Command)C、單例模式(Singleton) D、狀態(tài)模式(State)10.當(dāng)我們想創(chuàng)建一個(gè)具體的對(duì)象而又不期望指定具體的類時(shí),可以使用( A)模式。A.創(chuàng)建型 B.結(jié)構(gòu)型 C行為型 D.以上都可以11、設(shè)計(jì)模式的兩大主題是( d )A.系統(tǒng)的維護(hù)與開發(fā) B 對(duì)象組合與類的繼承C.系統(tǒng)架構(gòu)與系統(tǒng)開發(fā) D.系統(tǒng)復(fù)用與系統(tǒng)擴(kuò)展12、單例模式中,兩個(gè)基本要點(diǎn)( a b )和單子類自己供應(yīng)單例 A .構(gòu)造函數(shù)私有 B.唯一實(shí)例C.靜態(tài)工廠方法 D.以上都不對(duì)13、下列
10、模式中,屬于行為模式的是( b ) A.工廠模式 B觀看者 C適配器 以上都是14、對(duì)象適配器模式是( a )原則的典型應(yīng)用。A.合成聚合復(fù)用原則 B.里式代換原則C.依靠倒轉(zhuǎn)原則 D.迪米特法則15、靜態(tài)工廠的核心角色是(a)A.抽象產(chǎn)品 B.具體產(chǎn)品 C.靜態(tài)工廠 D.消費(fèi)者16、在觀看者模式中,表述錯(cuò)誤的是( c )A.觀看者角色的更新是被動(dòng)的。B.被觀看者可以通知觀看者進(jìn)行更新C.觀看者可以轉(zhuǎn)變被觀看者的狀態(tài),再由被觀看者通知全部觀看者依據(jù)被觀看者的狀態(tài)進(jìn)行。D.以上表述全部錯(cuò)誤。17、以下關(guān)于創(chuàng)建型模式說法正確的是 。 (A)A創(chuàng)建型模式關(guān)注的是對(duì)象的創(chuàng)建B創(chuàng)建型模式關(guān)注的是功能的實(shí)
11、現(xiàn)C創(chuàng)建型模式關(guān)注的是組織類和對(duì)象的常用方法D創(chuàng)建型模式關(guān)注的是對(duì)象間的協(xié)作18.常用的描述設(shè)計(jì)模式的格式有(ABCD) 。A意圖 B動(dòng)機(jī)C適用性 D結(jié)構(gòu)19.以下關(guān)于結(jié)構(gòu)型模式說法正確的是 (ACD)。A.結(jié)構(gòu)型模式可以在不破壞類封裝性的基礎(chǔ)上,實(shí)現(xiàn)新的功能。B.結(jié)構(gòu)型模式主要用于創(chuàng)建一組對(duì)象。C.結(jié)構(gòu)型模式可以創(chuàng)建一組類的統(tǒng)一訪問接口D.結(jié)構(gòu)型模式可以在不破壞類封裝性的基礎(chǔ)上,使得類可以同不曾估量到的系統(tǒng)進(jìn)行交互。20.以下屬于結(jié)構(gòu)型模式的是(AB)。A.代理(Proxy)模式 B.合成(Composite)模式C.命令(Command)模式 D.觀看者(Observer)模式21.在不破
12、壞類封裝性的基礎(chǔ)上,使得類可以同不曾估量到的系統(tǒng)進(jìn)行交互。主要體現(xiàn)在(AD)。A.適配器(Adapte)模式 B.合成(Composite)模式C.原型(Prototype)模式 D.橋接(Bridge)模式22.結(jié)構(gòu)型模式中最體現(xiàn)擴(kuò)展性的幾種模式是(BC)。A.適配器(Adapte)模式 B.合成(Composite)模式C.裝飾(Decorator)模式 D.橋接(Bridge)模式23.行為類模式使用( B )在類間分派行為。A.接口 B.繼承機(jī)制C.對(duì)象組合 D.托付24.以下屬于行為對(duì)象模式的是 ( BCD )。A.模板(Template Method)模式 B.迭代器(Iterat
13、or)模式C.命令(Command)模式 D.觀看者(Observer)模式25.封裝分布于多個(gè)類之間的行為的模式是( C ) 。A.觀看者(Observer)模式 B.迭代器(Iterator)模式C.訪問者(Visitor)模式 D.策略(Strategy)模式26.利用繼承來供應(yīng)DUCK的行為,會(huì)導(dǎo)致下列那些缺點(diǎn)?(ABCD)A代碼在多個(gè)子類中重復(fù) B.運(yùn)行時(shí)的行為不簡(jiǎn)潔轉(zhuǎn)變C我們不能讓鴨子跳舞D.轉(zhuǎn)變會(huì)牽一發(fā)而動(dòng)全身,造成其他鴨子不想要的轉(zhuǎn)變簡(jiǎn)答題: 1什么是設(shè)計(jì)模式?設(shè)計(jì)模式的目標(biāo)是什么?答: 設(shè)計(jì)模式通常是對(duì)于某一類的軟件設(shè)計(jì)問題的可重用的解決方案,將設(shè)計(jì)模式引入軟件設(shè)計(jì)和開發(fā)過程
14、,其目的就在于要充分利用已有的軟件開發(fā)閱歷。2設(shè)計(jì)模式具有哪三大特點(diǎn)?答: (1) 在特定的場(chǎng)景下有可重用性,對(duì)相同類型不同問題的環(huán)境,其解決方案都有效。(2) 可傳授性,即問題消滅的機(jī)會(huì)很多,解決問題的方案相同,人們相對(duì)可以接受。(3) 有表示模式的名稱。3GOF 設(shè)計(jì)模式常用的有幾種?GOF 設(shè)計(jì)模式依據(jù)模式的目的可分為哪三類?答: 行為型,結(jié)構(gòu)型,創(chuàng)建型4畫出抽象工廠方法類圖(這類題自己看書去。)5.針對(duì)接口編程,不針對(duì)實(shí)現(xiàn)編程的意義。答: 主題與觀看者都是用接口:觀看者利用主題的接口向主題注冊(cè),而主題利用觀看者接口通知觀看者。這樣可以讓兩者之間運(yùn)作正常,又同時(shí)具有松耦合的優(yōu)點(diǎn)。6.面對(duì)
15、對(duì)象(OO)的原則有:答: 1. 封裝變化 2. 多用組合,少用繼承 3. 針對(duì)接口編程,不針對(duì)實(shí)現(xiàn)編程 4. 為交互對(duì)象之間的松耦合設(shè)計(jì)而努力 5. 對(duì)擴(kuò)開放放,對(duì)修改關(guān)閉 6. 依靠抽象,不要依靠具體類 7. 只和伴侶交談 8. 別找我,我會(huì)找你 9. 類應(yīng)當(dāng)只有一個(gè)轉(zhuǎn)變的理由 7. 耦合分為幾種?(1) 內(nèi)容耦合 (2) 公共耦合 (3) 外部耦合 (4) 把握耦合(5) 標(biāo)記耦合 (6) 數(shù)據(jù)耦合 (7) 非直接耦合8.GOF模式分為幾種,每種包含哪些模式?答:分為3種。創(chuàng)建型設(shè)計(jì)模式:簡(jiǎn)潔工廠模式,工廠方法模式,抽象工廠模式,建筑者模式,原型模式,單例模式;結(jié)構(gòu)型設(shè)計(jì)模式:適配器模式
16、,橋接模式,組合模式,裝飾模式,外觀模式,輕量級(jí)模式,代理模式;行為性設(shè)計(jì)模式:責(zé)任鏈模式,命令模式,解釋器模式,迭代器模式,中介者模式,備忘錄模式,觀看者模式,狀態(tài)模式,策略者模式,模板方法模式,訪問者模式。綜合題 1. 某玩耍公司現(xiàn)欲開發(fā)一款面對(duì)兒童的模擬玩耍,該玩耍主要模擬現(xiàn)實(shí)世界中各種鴨子的發(fā)聲特征、飛行特征和外觀特征。玩耍需要模擬的鴨子種類及其特征如下表所示:為支持將來能夠模擬更多種類鴨子的特征,接受某設(shè)計(jì)模式設(shè)計(jì)的類圖如下所示:其中,Duck 為抽象類,描述了抽象的鴨子,而類RubberDuck、MallardDuck、CottonDuck 和RedHeadDuck 分別描述具體的
17、鴨子種類,方法fly()、quack()和display()分別表示不同種類的鴨子都具有飛行特征、發(fā)聲特征和外觀特征;類FlyBehavior 與QuackBehavior為抽象類,分別用于表示抽象的飛行行為與發(fā)聲行為;類FlyNoWay與FlyWithWings分別描述不能飛行的行為和用翅膀飛行的行為;類Quack、Squeak與QuackNoWay分別描述發(fā)出“嘎嘎”聲的行為、發(fā)出橡皮與空氣摩擦聲的行為與不發(fā)聲的行為。C+代碼#include<iostream>using namespace std ;class FlyBehavior public : virtual voi
18、d fly() = 0;class QuackBehavior public: virtual void quack() = 0;class FlyWithWings:public FlyBehaviorpublic: void fly() cout << "使用翅膀飛行 !" << endl; ;class FlyNoWay:public FlyBehaviorpublic: void fly() cout << "不能飛行 !" << endl; ;class Quack:public QuackBeh
19、aviorpublic: void quack() cout << "發(fā)出'嘎嘎'聲 !" << endl;class Squeak:public QuackBehaviorpublic: void quack() cout << "發(fā)出空氣與橡皮摩擦聲 !" << endl;class QuackNoWay:public QuackBehaviorpublic: void quack () cout << "不能發(fā)聲 !" << endl; ;class Duck protected:FlyBehavior * flyBehavior;QuackBehavior * quackBehavior;public:void fly() flyBehavior->fly(); void quack() quackBehavior->quack(); ;virtual void display()=0;class RubberDuck: public Duck public:RubberDuck()flyBehavior = new FlyNoWay();quackBeha
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 電子商務(wù)平臺(tái)用戶行為心理學(xué)應(yīng)用考核試卷
- 貨運(yùn)物流標(biāo)準(zhǔn)化與統(tǒng)一編碼體系構(gòu)建考核試卷
- 再生材料在建筑節(jié)能中的應(yīng)用考核試卷
- 合作伙伴關(guān)系風(fēng)險(xiǎn)管理考核試卷
- 印刷品裁剪技術(shù)考核試卷
- 急需流動(dòng)資金借款合同(32篇)
- 企業(yè)管理咨詢業(yè)務(wù)合作協(xié)議書
- 《于丹趣品人生》讀書筆記
- 四川省眉山市2024-2025學(xué)年下學(xué)期期末考試八年級(jí)數(shù)學(xué)試卷及答案
- 夢(mèng)幻迪士尼派對(duì)活動(dòng)方案
- 腹膜透析飲食知識(shí)
- 感染性疾病分子診斷試劑行業(yè)深度調(diào)研及發(fā)展戰(zhàn)略咨詢報(bào)告
- ISO45001 2024職業(yè)健康安全管理體系要求及使用指南
- 音樂劇排練流程
- 高壓電纜故障搶修施工方案
- 2025-2030中國(guó)三元乙丙橡膠行業(yè)發(fā)展趨勢(shì)及發(fā)展前景研究報(bào)告
- 2025住院患者身體約束護(hù)理
- 基于BOPPPS框架與線上線下混合教學(xué)模式的探索
- DB32-T 186-2015建筑消防設(shè)施檢測(cè)技術(shù)規(guī)程
- 2025年上半年廣東省廣州白云區(qū)太和鎮(zhèn)政府雇員招聘16人易考易錯(cuò)模擬試題(共500題)試卷后附參考答案
- DBJ33T 1271-2022 建筑施工高處作業(yè)吊籃安全技術(shù)規(guī)程
評(píng)論
0/150
提交評(píng)論