




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、三、題目預測 填空題: 1.請從外觀、組合、工廠方法、模板方法、觀察者、單件、抽象工廠、命令、迭代器、代理、適配器模式中選擇7種填入下列的空缺中。P610 1) 工廠方法 模式中,父類負責定義創(chuàng)建對象的公共接口,子類決定要創(chuàng)建的具體類是哪一個。2) 抽象工廠 模式提供一系列相關或相互依賴對象的接口而無需指定它們具體的類。3) 單 件 模式確保某一個類僅有一個實例,并自行實例化并向整個系統(tǒng)提供這個實例。4) 組 合 模式將對象組合成樹形結構以表示“部分-整體”的層次結構。使得用戶對單個對象和組合對象的使用具有一致性。5) 外 觀 模式定義了一個高層接口,這個接口使得這一子系統(tǒng)更加容易使用,為子系
2、統(tǒng)中的一組接口提供一個一致的界面,簡化了一群類的接口。6) 觀察者 模式定義對象間的一種一對多的依賴關系,當一個對象的狀態(tài)發(fā)生改變時, 所有依賴于它的對象都得到通知并被自動更新,也就是讓對象能在狀態(tài)改變時被通知。7) 模 板 模MVC模型式定義一個操作中的算法的骨架,而將一些步驟延遲到子類中。8) 迭代器模式在對象的集合之中游走,而不暴露集合的實現(xiàn)。9) 代理模式包裝對象,以控制對比對象的訪問。10) 適配器模式封裝對象,并提供不同的接口。2.工廠模式分為(簡單工廠),(工廠方法),(抽象工廠)三種類型。3.適配器模式,分為類的適配器和對象的適配器兩種實現(xiàn)。其中類的適配器采用的是(繼承)關系,
3、而對象適配器采用的是(組合聚合)關系。4.設計模式的基本要素有(名字 ),(意圖 ),(問題 ),( 解決方案 ),(參與者與協(xié)作者 ),( 實現(xiàn)),(一般性結構)。5.MVC模型的基本工作原理是基于(觀察者)模式,實現(xiàn)是基于(命令)模式6.面向對象的六條基本原則包括:開閉原則,里式代換原則,合成聚合原則以及(依賴倒轉),(迪米特法則)(接口隔離)。7當我們想用不同的請求對客戶進行參數(shù)化時,可以使用( 命令 )模式。8當我們想封裝不同算法并使它們可相互替換時,可以使用(策略)模式。9. 每一個設計模式都集中于一個特定的(設計問題),描述了(相互通信的對象)或者(類)以及(解決方案)和(解決效果
4、 )。10設計模式中應優(yōu)先使用(對象組合)而不是(類繼承)。11. 面向對象(OO)的基礎包括(抽象)(封裝)(多態(tài))(繼承)。12.(狀態(tài)模式)允許一個對象基于內部狀態(tài)而擁有不同的行為。13.模式不是代碼,而是(針對設計問題)的通用解決方案。14.觀察者模式定義了對象之間(一對多)的關系。15.觀察者和可觀察者之間用(松耦合方式)結合。16設計模式的兩大主題是:(對象組合) 和 (類繼承)的討論。 17.(組合)和(委托)可用于運行時動態(tài)地加上新的行為。18.工廠方法使用(繼承)把對象的創(chuàng)建委托給子類,子類實現(xiàn)了工廠方法來創(chuàng)建對象。19.抽象工廠方法使用(對象組合)使對象的創(chuàng)建被實現(xiàn)在工廠接
5、口所暴露出來的方法中。20.在Java中實現(xiàn)單件模式,需要私有的(構造器)(一個靜態(tài)方法)和(一個靜態(tài)變量)21命令模式將(發(fā)出請求)的對象和(執(zhí)行請求)的對象解耦。22.當需要一個現(xiàn)有的類而其接口不符合需求時,可使用(適配器)模式。23.適配器模式的兩種模式是(對象適配器)和(類適配器)。24.(模板方法)定義了算法的步驟,把這些步驟的實現(xiàn)延遲到了子類。25.(代理模式)為另一個對象提供代表,以便控制客戶對對象的訪問。26.裝飾著模式為對象加上(行為)而代理模式則是(控制訪問)。27.開閉原則:(擴展開放)(修改關閉)。28.代理模式分為哪4種:(虛擬代理)(遠程代理)(安全代理)(聰明引用
6、)。選擇題 1設計模式具有的優(yōu)點。(A)A. 適應需求變化 B.程序易于理解C. 減少開發(fā)過程中的代碼開發(fā)工作量 D.簡化軟件系統(tǒng)的設計2. 若系統(tǒng)中的某子模塊需要為其它模塊提供訪問不同數(shù)據(jù)庫系統(tǒng)(Oracle、SQL Server、DB2 UDB 等)的功能,這些數(shù)據(jù)庫系統(tǒng)提供的訪問接口有一定的差異,但訪問過程卻都是相同的,例如,先連接數(shù)據(jù)庫,再打開數(shù)據(jù)庫,最后對數(shù)據(jù)進行查詢,( D ) 設計模式可抽象出相同的數(shù)據(jù)庫訪問過程;A. 外觀 B. 裝飾 C. 單件 D. 模板方法3 系統(tǒng)中的文本顯示類(TextView)和圖片顯示類(PictureView)都繼承了組件類(Component),
7、分別顯示文本和圖片內容,現(xiàn)需要構造帶有滾動條、或者帶有黑色邊框、或者既有滾動條又有黑色邊框的文本顯示控件和圖片顯示控件,但希望最多只增加三個類,( B )設計模式可以實現(xiàn)該目的。A. 外觀 B. 裝飾 C.單件 D. 模板方法4. 下面的類圖表示的是哪個模式?( A )A、抽象工廠模式(Abstract Factory)B、工廠方法模式(Factory Method)C、命令模式(Command)D、責任鏈模式(Chain of Responsibility)5. 下面的類圖表示的是哪個設計模式?( B )A、代理模式(Proxy) B、裝飾模式(Decorator)C、橋接模式(Bridge
8、) D、觀察者模式(Observer)6.下面的類圖表示的是哪個模式?( B )A、代理模式(Proxy) B、外觀模式(Facade)C、適配器模式(Adapter) D、橋接模式(Bridge)7.下面的類圖表明了哪個模式?( D )A、責任鏈模式(Chain of Responsibility) B、命令模式(Command)C、備忘錄模式 (Memento) D、工廠方法模式(Factory Method)8. 下面的類圖表示的是哪個設計模式?( D )A、模板方法模式(Template Method) B、命令模式 (Command)C、單例模式(Singleton) D、狀態(tài)模式(
9、State)9. 下面的類圖表示的是哪個設計模式?( C )A、模板方法模式(Template Method) B、命令模式 (Command)C、單例模式(Singleton) D、狀態(tài)模式(State)10.當我們想創(chuàng)建一個具體的對象而又不希望指定具體的類時,可以使用( A)模式。A.創(chuàng)建型 B.結構型 C行為型 D.以上都可以11、設計模式的兩大主題是( d )A.系統(tǒng)的維護與開發(fā) B 對象組合與類的繼承C.系統(tǒng)架構與系統(tǒng)開發(fā) D.系統(tǒng)復用與系統(tǒng)擴展12、單例模式中,兩個基本要點( a b )和單子類自己提供單例 A .構造函數(shù)私有 B.唯一實例C.靜態(tài)工廠方法 D.以上都不對13、下列
10、模式中,屬于行為模式的是( b ) A.工廠模式 B觀察者 C適配器 以上都是14、對象適配器模式是( a )原則的典型應用。A.合成聚合復用原則 B.里式代換原則C.依賴倒轉原則 D.迪米特法則15、靜態(tài)工廠的核心角色是(a)A.抽象產(chǎn)品 B.具體產(chǎn)品 C.靜態(tài)工廠 D.消費者16、在觀察者模式中,表述錯誤的是( c )A.觀察者角色的更新是被動的。B.被觀察者可以通知觀察者進行更新C.觀察者可以改變被觀察者的狀態(tài),再由被觀察者通知所有觀察者依據(jù)被觀察者的狀態(tài)進行。D.以上表述全部錯誤。17、以下關于創(chuàng)建型模式說法正確的是 。 (A)A創(chuàng)建型模式關注的是對象的創(chuàng)建B創(chuàng)建型模式關注的是功能的實
11、現(xiàn)C創(chuàng)建型模式關注的是組織類和對象的常用方法D創(chuàng)建型模式關注的是對象間的協(xié)作18.常用的描述設計模式的格式有(ABCD) 。A意圖 B動機C適用性 D結構19.以下關于結構型模式說法正確的是 (ACD)。A.結構型模式可以在不破壞類封裝性的基礎上,實現(xiàn)新的功能。B.結構型模式主要用于創(chuàng)建一組對象。C.結構型模式可以創(chuàng)建一組類的統(tǒng)一訪問接口D.結構型模式可以在不破壞類封裝性的基礎上,使得類可以同不曾估計到的系統(tǒng)進行交互。20.以下屬于結構型模式的是(AB)。A.代理(Proxy)模式 B.合成(Composite)模式C.命令(Command)模式 D.觀察者(Observer)模式21.在不破
12、壞類封裝性的基礎上,使得類可以同不曾估計到的系統(tǒng)進行交互。主要體現(xiàn)在(AD)。A.適配器(Adapte)模式 B.合成(Composite)模式C.原型(Prototype)模式 D.橋接(Bridge)模式22.結構型模式中最體現(xiàn)擴展性的幾種模式是(BC)。A.適配器(Adapte)模式 B.合成(Composite)模式C.裝飾(Decorator)模式 D.橋接(Bridge)模式23.行為類模式使用( B )在類間分派行為。A.接口 B.繼承機制C.對象組合 D.委托24.以下屬于行為對象模式的是 ( BCD )。A.模板(Template Method)模式 B.迭代器(Iterat
13、or)模式C.命令(Command)模式 D.觀察者(Observer)模式25.封裝分布于多個類之間的行為的模式是( C ) 。A.觀察者(Observer)模式 B.迭代器(Iterator)模式C.訪問者(Visitor)模式 D.策略(Strategy)模式26.利用繼承來提供DUCK的行為,會導致下列那些缺點?(ABCD)A代碼在多個子類中重復 B.運行時的行為不容易改變C我們不能讓鴨子跳舞D.改變會牽一發(fā)而動全身,造成其他鴨子不想要的改變簡答題: 1什么是設計模式?設計模式的目標是什么?答: 設計模式通常是對于某一類的軟件設計問題的可重用的解決方案,將設計模式引入軟件設計和開發(fā)過程
14、,其目的就在于要充分利用已有的軟件開發(fā)經(jīng)驗。2設計模式具有哪三大特點?答: (1) 在特定的場景下有可重用性,對相同類型不同問題的環(huán)境,其解決方案都有效。(2) 可傳授性,即問題出現(xiàn)的機會很多,解決問題的方案相同,人們相對可以接受。(3) 有表示模式的名稱。3GOF 設計模式常用的有幾種?GOF 設計模式按照模式的目的可分為哪三類?答: 行為型,結構型,創(chuàng)建型4畫出抽象工廠方法類圖(這類題自己看書去。)5.針對接口編程,不針對實現(xiàn)編程的意義。答: 主題與觀察者都是用接口:觀察者利用主題的接口向主題注冊,而主題利用觀察者接口通知觀察者。這樣可以讓兩者之間運作正常,又同時具有松耦合的優(yōu)點。6.面向
15、對象(OO)的原則有:答: 1. 封裝變化 2. 多用組合,少用繼承 3. 針對接口編程,不針對實現(xiàn)編程 4. 為交互對象之間的松耦合設計而努力 5. 對擴展開放,對修改關閉 6. 依賴抽象,不要依賴具體類 7. 只和朋友交談 8. 別找我,我會找你 9. 類應該只有一個改變的理由 7. 耦合分為幾種?(1) 內容耦合 (2) 公共耦合 (3) 外部耦合 (4) 控制耦合(5) 標記耦合 (6) 數(shù)據(jù)耦合 (7) 非直接耦合8.GOF模式分為幾種,每種包含哪些模式?答:分為3種。創(chuàng)建型設計模式:簡單工廠模式,工廠方法模式,抽象工廠模式,建造者模式,原型模式,單例模式;結構型設計模式:適配器模式
16、,橋接模式,組合模式,裝飾模式,外觀模式,輕量級模式,代理模式;行為性設計模式:責任鏈模式,命令模式,解釋器模式,迭代器模式,中介者模式,備忘錄模式,觀察者模式,狀態(tài)模式,策略者模式,模板方法模式,訪問者模式。綜合題 1. 某游戲公司現(xiàn)欲開發(fā)一款面向兒童的模擬游戲,該游戲主要模擬現(xiàn)實世界中各種鴨子的發(fā)聲特征、飛行特征和外觀特征。游戲需要模擬的鴨子種類及其特征如下表所示:為支持將來能夠模擬更多種類鴨子的特征,采用某設計模式設計的類圖如下所示:其中,Duck 為抽象類,描述了抽象的鴨子,而類RubberDuck、MallardDuck、CottonDuck 和RedHeadDuck 分別描述具體的
17、鴨子種類,方法fly()、quack()和display()分別表示不同種類的鴨子都具有飛行特征、發(fā)聲特征和外觀特征;類FlyBehavior 與QuackBehavior為抽象類,分別用于表示抽象的飛行行為與發(fā)聲行為;類FlyNoWay與FlyWithWings分別描述不能飛行的行為和用翅膀飛行的行為;類Quack、Squeak與QuackNoWay分別描述發(fā)出“嘎嘎”聲的行為、發(fā)出橡皮與空氣摩擦聲的行為與不發(fā)聲的行為。C+代碼#includeusing namespace std ;class FlyBehavior public : virtual void fly() = 0;clas
18、s 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 QuackBehaviorpublic: void quack() cout 發(fā)出嘎嘎聲 ! endl;class Squeak:public QuackBehaviorpublic: void quack() cout 發(fā)出空氣與橡皮摩擦聲 ! endl;class QuackNoWay:public QuackBehaviorpublic: void quack () cout 不能發(fā)聲 ! fly(); void quack() quackBehavior-quack(); ;virtual void display()=0;class RubberDuck: public Duck public:RubberDuck()flyBehavior = new FlyNoWay();quackBehavior = new Squeak();Rubbe
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 【正版授權】 ISO/IEC 23090-26:2025 EN Information technology - Coded representation of immersive media - Part 26: Conformance and reference software for carriage of geometry-based point
- 2025至2030中國白色水泥行業(yè)發(fā)展分析及競爭格局與發(fā)展趨勢預測報告
- 2025至2030中國男士帆布鞋行業(yè)供需趨勢及投資風險報告
- 2025至2030中國電商物流行業(yè)產(chǎn)業(yè)運行態(tài)勢及投資規(guī)劃深度研究報告
- 2025至2030中國特醫(yī)食品行業(yè)發(fā)展分析及前景趨勢與投資報告
- 培訓課件軟件
- 智慧城市基礎設施建設中的通信電纜技術創(chuàng)新
- 幼兒園新教師健康教育培訓
- 心理輔導在學生學習中的重要性
- 從學生到職業(yè)領袖的教育之路
- 2025年四川廣安愛眾股份有限公司招聘筆試參考題庫含答案解析
- 2024起重吊裝及起重機械安裝拆卸工程監(jiān)理作業(yè)指引
- 威脅情報收集與整合-洞察分析
- 期末教師會議校長精彩講話:最后講了存在的問題
- 知名連鎖漢堡店食安QSC稽核表
- 攝影設備采購合同范例
- DB41T 1812-2019 蘋果簡約栽培技術規(guī)程
- 【《三只松鼠公司員工激勵現(xiàn)狀調查及優(yōu)化建議(附問卷)14000字》(論文)】
- 護理不良事件登記本及護理不良事件報告新規(guī)制度
- 農業(yè)土壤檢測技術行業(yè)發(fā)展前景及投資風險預測分析報告
- 廣東省深圳市羅湖區(qū)2023-2024學年二年級下學期期末考試數(shù)學試題
評論
0/150
提交評論