答案-軟件設(shè)計模式X東大21年6月考試考核作業(yè)88888_第1頁
答案-軟件設(shè)計模式X東大21年6月考試考核作業(yè)88888_第2頁
答案-軟件設(shè)計模式X東大21年6月考試考核作業(yè)88888_第3頁
答案-軟件設(shè)計模式X東大21年6月考試考核作業(yè)88888_第4頁
答案-軟件設(shè)計模式X東大21年6月考試考核作業(yè)88888_第5頁
已閱讀5頁,還剩10頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

學(xué)習(xí)中心:院校學(xué)號:姓名學(xué)習(xí)中心:院校學(xué)號:姓名PAGE5課程名稱PAGE5課程名稱:軟件設(shè)計模式X東北大學(xué)繼續(xù)教育學(xué)院軟件設(shè)計模式X 試卷(作業(yè)考核線上2) A 卷(共7 頁)總分總分題號一二三四五六七八九十得分完整答案附后一、單選題(共40分,每題2分)常用的基本設(shè)計模式可分為()A.創(chuàng)建型、結(jié)構(gòu)型和行為型 B.對象型、結(jié)構(gòu)型和行為C.過程型、結(jié)構(gòu)型和行為型 D.抽象型、接口型和實現(xiàn)對以下開閉原則的描述錯誤的是()開閉原則與“對可變性的封裝原則”沒有相似性C.對修改關(guān)閉,是其原則之一D.從抽象層導(dǎo)出一個或多個新具體類可以改變系統(tǒng)的行為,是其原則之一“不要和陌生人說話”是()原則的通俗表述。接口隔離B.里氏替換C.依賴倒置 D.迪米特當(dāng)創(chuàng)建一個具體的對象而又不希望指定具體的類時,可以使用()結(jié)構(gòu)型B.創(chuàng)建型 C.行為型 D.以上都可以以下()是利用一個對象,快速地生成一批對象。抽象工廠(AbstractFactory)模式 B.原型(Prototype)模式C.合成(Composite)模式 D.橋接(Bridge)模式以下()用來描述建造者(Builder。定義一個用于創(chuàng)建對象的接口,讓子類決定實例化哪一個類將一個復(fù)雜對象的構(gòu)建與它的表示分離,使得同樣的構(gòu)建過程可以創(chuàng)建不同的表示保證一個類僅有一個實例,并提供→個訪問它的全周訪問點運用共享技術(shù)有效地支持大量細(xì)粒度的對象以下()用來描述工廠方法(FactoryMethod)模式。提供一個創(chuàng)建一系列相關(guān)或相互依賴對象的接口,而無須指定它們具體的類下定義作用于這些元素的新操作遲到其子類獨立于使用它的客戶而變化對象適配器模式是()原則的典型應(yīng)用。起工作的那些類可以一起工作。定義一個用于創(chuàng)建對象的接口,讓子類決定實例化哪一個類下定義作用于這些元素的新操作隊或記錄請求日志,以及支持可撤銷的操作關(guān)于模式適用性,以下()Flyweight(享元)模式。一個應(yīng)用程序使用了大量的對象完全由于使用大量的對象,造成很大的存儲開銷對象的大多數(shù)狀態(tài)都可變?yōu)橥獠繝顟B(tài)用戶想使用一個已經(jīng)存在的類,而它的接口不符合用戶的需求如果有一個2MB的文本(英文字母的每個字母都定義一個對象顯然不合實際,對與該問題最好可使用的模式是(。A.裝飾(Decorator)模式B.享元(Flyweight)模式C.合成(Composite)模式D.命令(Command)模式()適合使用組合(Composite)模式。用戶想使用一個已經(jīng)存在的類,而它的接口不符合用戶的需求當(dāng)一個類的實例只能有幾個不同狀態(tài)組合中的一種時用戶想表示對象的部分-整體層次結(jié)構(gòu)一個對象的行為取決于它的狀態(tài),并且它必須在運行時根據(jù)狀態(tài)改變它的行為以下意圖()可用來描述命令(Command。隊或記錄請求日志,以及支持可撤銷的操作可獨立于使用它的客戶而變化為其他對象提供一種代理以控制對這個對象的訪問保證一個類僅有一個實例,并提供一個訪問它的全局訪問點以下不屬于行為型模式的是(。A.命令(Command) B.策略(Strategy)C.備忘錄(Memento) D.橋接(Bridge)()不適合使用模板方法(TemplateMethod)模式。一次性實現(xiàn)-個算法的不變的部分,并將可變的行為留給子類來實現(xiàn)當(dāng)對一個對象的改變需要同時改變其他對象,而不知道具體有多少對象有待改變有代碼中的不同之處,并且將不同之處分離為新的操作。最后,用一個調(diào)用這些新的操作的模板方法來替換這些不同的代碼控制子類擴展。模板方法只在特定點調(diào)用“hook”操作,這樣就只允許在這些點進行擴展()不適合使用職責(zé)鏈(ChainofResponsibility)模式。有多個的對象可以處理一個請求,哪個對象處理該請求運行時刻自動確定在需要用比較通用和復(fù)雜的對象指針代替簡單的指針的時候用戶想在不明確指定接收者的情況下,向多個對象中的一個提交一個請求可處理一個請求的對象集合應(yīng)被動態(tài)指定以下意圖()可用來描述中介者(Mediator)。提供一種方法順序訪問一個聚合對象中各個元素,而又不需暴露該對象的內(nèi)部表示將抽象部分與它的實現(xiàn)部分分離,使它們都可以獨立變化定義一個用于創(chuàng)建對象的接口,讓子類決定實例化哪一個類用-個中介對象來封裝一系列的對象交互以下意圖()可用來描述解釋器(Interpreter。將抽象部分與它的實現(xiàn)部分分離,使它們都可以獨立變化來解釋語言中的句子將一個復(fù)雜對象的構(gòu)建與它的表示分離,使得同樣的構(gòu)建過程可以創(chuàng)建不同的表示為其他對象提供一種代理以控制對這個對象的訪問以下意圖()可用來描述訪問者(Visitor)。都得到通知并被自動更新表示一個作用于某對象結(jié)構(gòu)中的各元素的操作樣以后就可將該對象恢復(fù)到原先保存的狀態(tài)用原型實例指定創(chuàng)建對象的種類,并且通過復(fù)制這些原型創(chuàng)建新的對象以下意圖()可用來描述狀態(tài)(State。使多個對象都有機會處理請求,從而避免請求的發(fā)送者和接收者之間的精合關(guān)系提供一種方法順序訪問一個聚合對象中各個元素而又不需暴露該對象的內(nèi)部表示允許一個對象在其內(nèi)部狀態(tài)改變時改變它的行為。對象看起來似乎修改了它的類樣以后就可將該對象恢復(fù)到原先保存的狀態(tài)設(shè)計模式具有的優(yōu)點(。A.適應(yīng)需求變化 B.程序易于理解C.減少開發(fā)過程中的代碼開發(fā)工作量D.簡化軟件系統(tǒng)的設(shè)計二、多選題(共10分,每題2分)以下是模式的基本要素的是( 。名稱 B.意圖 C.解決方案D.參與者和協(xié)作者以下屬于創(chuàng)建型模式的是( 。A.抽象工廠(AbstractFactory)模式 B.合成(Composite)模式C.單例(Singleton)模式 D.橋接(Bridge)模式以下關(guān)于結(jié)構(gòu)型模式說法正確的是( 。結(jié)構(gòu)型模式可以在不破壞類封裝性的基礎(chǔ)上,實現(xiàn)新的功能結(jié)構(gòu)型模式主要用于創(chuàng)建一組對象結(jié)構(gòu)型模式可以創(chuàng)建一組類的統(tǒng)→訪問接口結(jié)構(gòu)型模式可以在不破壞類封裝性的基礎(chǔ)上,使類可以同不曾估計到的系統(tǒng)進行交互以下屬于行為對象模式的是( 。裝飾(Decorator)模式 B.迭代器(Iterator)模式C.命令(Command)模式 D.中介者(Mediator)模式下面( )是訪問者模式的優(yōu)缺點。A.訪問者模式使得易于增加新的操作 B.訪問者集中相關(guān)的操作而分離無關(guān)的操作C.增加新的ConcreteElment類很困難 D.通過類層次進行訪問三、判斷題(共10分,每題1分;請在認(rèn)為正確的題目后面寫T,錯誤的題目后面寫F)設(shè)計模式的兩大主題是系統(tǒng)復(fù)用與系統(tǒng)擴展。( )抽象工廠模式提供了一系列相關(guān)或相互依賴對象的接口且必須指定他們具體的類。( )對象適配器模式是依賴倒轉(zhuǎn)原則的典型應(yīng)用( )Open-Close原則的含義是一個軟件實體應(yīng)當(dāng)對擴展開放,對修改關(guān)閉( )Singleton(單例)模式屬于結(jié)構(gòu)性模式( )常用的設(shè)計模式可分為過程型、創(chuàng)建型和結(jié)構(gòu)型( )對觀察者模式觸發(fā)事件的對象——Subject對象不需要知道觀察事件的所有對象。 )通過在問題領(lǐng)域中使用模式,可以用一種不同的方式來看待問題( )對象適配器模式是依賴倒轉(zhuǎn)原則的典型應(yīng)用( )TemplateMethod是用以幫助從不同的步驟中抽象出一個通用的過程的模式( 四、名詞解釋(共15分,每題3分)設(shè)計模式開閉原則單一職責(zé)原則依賴關(guān)系學(xué)習(xí)中心:院校學(xué)號:姓名學(xué)習(xí)中心:院校學(xué)號:姓名PAGE7課程名稱PAGE7課程名稱:軟件設(shè)計模式X組合關(guān)系五、簡答題(共15分,每題5分)設(shè)計模式一般有哪幾個基本要素?創(chuàng)建型模式分包括哪幾種設(shè)計模式,各是什么并簡要說明。說明訪問者模式的定義與主要優(yōu)缺點。六、綜合題(共10分)入以及公司的利潤率的影響。(Rate)(Company)和增加/change(intnumber匯率(RMBrate)類是具體目標(biāo),它實現(xiàn)了父類的change(intnumber)方法,即當(dāng)人民幣匯率發(fā)生改變時通過相關(guān)公司;公司(Company)類是抽象觀察者,它定義了一個有關(guān)匯率反應(yīng)的抽象方法respons巳(intnumber;進口公司(ImportCompany)類和出口公司(ExportCompany)類是具體觀察者類,它們實現(xiàn)了父類的response(intnumber)方法,即當(dāng)它們接收到匯率發(fā)生改變的通知時作為相應(yīng)的反應(yīng)。請畫出該程序的類圖。完整答案見下一頁學(xué)習(xí)中心:院校學(xué)號:姓名學(xué)習(xí)中心:院校學(xué)號:姓名PAGE14課程名稱PAGE14課程名稱:軟件設(shè)計模式X答案區(qū):東北大學(xué)繼續(xù)教育學(xué)院軟件設(shè)計模式X 試卷(作業(yè)考核線上2) A 卷(共7 頁)總分總分題號一二三四五六七八九十得分一、單選題(共40分,每題2分)常用的基本設(shè)計模式可分為(A)A.創(chuàng)建型、結(jié)構(gòu)型和行為型 B.對象型、結(jié)構(gòu)型和行為C.過程型、結(jié)構(gòu)型和行為型 D.抽象型、接口型和實現(xiàn)對以下開閉原則的描述錯誤的是(A)開閉原則與“對可變性的封裝原則”沒有相似性C.對修改關(guān)閉,是其原則之一D.從抽象層導(dǎo)出一個或多個新具體類可以改變系統(tǒng)的行為,是其原則之一“不要和陌生人說話”是(D)原則的通俗表述。接口隔離B.里氏替換C.依賴倒置 D.迪米特當(dāng)創(chuàng)建一個具體的對象而又不希望指定具體的類時,可以使用(D)結(jié)構(gòu)型B.創(chuàng)建型 C.行為型 D.以上都可以以下(C)是利用一個對象,快速地生成一批對象。抽象工廠(AbstractFactory)模式 B.原型(Prototype)模式C.合成(Composite)模式 D.橋接(Bridge)模式以下(B)用來描述建造者(Builder。定義一個用于創(chuàng)建對象的接口,讓子類決定實例化哪一個類將一個復(fù)雜對象的構(gòu)建與它的表示分離,使得同樣的構(gòu)建過程可以創(chuàng)建不同的表示保證一個類僅有一個實例,并提供→個訪問它的全周訪問點運用共享技術(shù)有效地支持大量細(xì)粒度的對象以下(C)用來描述工廠方法(FactoryMethod)模式。提供一個創(chuàng)建一系列相關(guān)或相互依賴對象的接口,而無須指定它們具體的類下定義作用于這些元素的新操作遲到其子類獨立于使用它的客戶而變化對象適配器模式是(A)原則的典型應(yīng)用。起工作的那些類可以一起工作。定義一個用于創(chuàng)建對象的接口,讓子類決定實例化哪一個類下定義作用于這些元素的新操作隊或記錄請求日志,以及支持可撤銷的操作關(guān)于模式適用性,以下(D)Flyweight(享元)模式。一個應(yīng)用程序使用了大量的對象完全由于使用大量的對象,造成很大的存儲開銷對象的大多數(shù)狀態(tài)都可變?yōu)橥獠繝顟B(tài)用戶想使用一個已經(jīng)存在的類,而它的接口不符合用戶的需求如果有一個2MB的文本(英文字母,為了對其中的字母進行分類和計數(shù),若為文本的每個字母都定義一個對象顯然不合實際,對與該問題最好可使用的模式是(B 。A.裝飾(Decorator)模式B.享元(Flyweight)模式C.合成(Composite)模式D.命令(Command)模式(C)適合使用組合(Composite)模式。用戶想使用一個已經(jīng)存在的類,而它的接口不符合用戶的需求當(dāng)一個類的實例只能有幾個不同狀態(tài)組合中的一種時用戶想表示對象的部分-整體層次結(jié)構(gòu)一個對象的行為取決于它的狀態(tài),并且它必須在運行時根據(jù)狀態(tài)改變它的行為以下意圖A)可用來描述命令(Command。隊或記錄請求日志,以及支持可撤銷的操作可獨立于使用它的客戶而變化為其他對象提供一種代理以控制對這個對象的訪問保證一個類僅有一個實例,并提供一個訪問它的全局訪問點以下不屬于行為型模式的是(D。A.命令(Command) B.策略(Strategy)C.備忘錄(Memento) D.橋接(Bridge)(B)不適合使用模板方法(TemplateMethod)模式。一次性實現(xiàn)-個算法的不變的部分,并將可變的行為留給子類來實現(xiàn)當(dāng)對一個對象的改變需要同時改變其他對象,而不知道具體有多少對象有待改變有代碼中的不同之處,并且將不同之處分離為新的操作。最后,用一個調(diào)用這些新的操作的模板方法來替換這些不同的代碼控制子類擴展。模板方法只在特定點調(diào)用“hook”操作,這樣就只允許在這些點進行擴展(B)不適合使用職責(zé)鏈(ChainofResponsibility)模式。有多個的對象可以處理一個請求,哪個對象處理該請求運行時刻自動確定在需要用比較通用和復(fù)雜的對象指針代替簡單的指針的時候用戶想在不明確指定接收者的情況下,向多個對象中的一個提交一個請求可處理一個請求的對象集合應(yīng)被動態(tài)指定以下意圖(D)可用來描述中介者(Mediator)。提供一種方法順序訪問一個聚合對象中各個元素,而又不需暴露該對象的內(nèi)部表示將抽象部分與它的實現(xiàn)部分分離,使它們都可以獨立變化定義一個用于創(chuàng)建對象的接口,讓子類決定實例化哪一個類用-個中介對象來封裝一系列的對象交互以下意圖B)可用來描述解釋器(Interpreter。將抽象部分與它的實現(xiàn)部分分離,使它們都可以獨立變化給定一個語言,定義它的文法的一種表示,并定義一個解釋器,這個解釋器使用該表示來解釋語言中的句子將一個復(fù)雜對象的構(gòu)建與它的表示分離,使得同樣的構(gòu)建過程可以創(chuàng)建不同的表示為其他對象提供一種代理以控制對這個對象的訪問以下意圖(B)可用來描述訪問者(Visitor)。都得到通知并被自動更新表示一個作用于某對象結(jié)構(gòu)中的各元素的操作樣以后就可將該對象恢復(fù)到原先保存的狀態(tài)用原型實例指定創(chuàng)建對象的種類,并且通過復(fù)制這些原型創(chuàng)建新的對象以下意圖(C)可用來描述狀態(tài)(State。使多個對象都有機會處理請求,從而避免請求的發(fā)送者和接收者之間的精合關(guān)系提供一種方法順序訪問一個聚合對象中各個元素而又不需暴露該對象的內(nèi)部表示允許一個對象在其內(nèi)部狀態(tài)改變時改變它的行為。對象看起來似乎修改了它的類樣以后就可將該對象恢復(fù)到原先保存的狀態(tài)設(shè)計模式具有的優(yōu)點(A。A.適應(yīng)需求變化 B.程序易于理解C.減少開發(fā)過程中的代碼開發(fā)工作量D.簡化軟件系統(tǒng)的設(shè)計二、多選題(共10分,每題2分)以下是模式的基本要素的是( ABCD 。名稱 B.意圖 C.解決方案D.參與者和協(xié)作者以下屬于創(chuàng)建型模式的是( AC 。A.抽象工廠(AbstractFactory)模式 B.合成(Composite)模式C.單例(Singleton)模式 D.橋接(Bridge)模式以下關(guān)于結(jié)構(gòu)型模式說法正確的是( ABCD。結(jié)構(gòu)型模式可以在不破壞類封裝性的基礎(chǔ)上,實現(xiàn)新的功能結(jié)構(gòu)型模式主要用于創(chuàng)建一組對象結(jié)構(gòu)型模式可以創(chuàng)建一組類的統(tǒng)→訪問接口結(jié)構(gòu)型模式可以在不破壞類封裝性的基礎(chǔ)上,使類可以同不曾估計到的系統(tǒng)進行交互以下屬于行為對象模式的是(BCD 。裝飾(Decorator)模式 B.迭代器(Iterator)模式C.命令(Command)模式 D.中介者(Mediator)模式下面( ACD)是訪問者模式的優(yōu)缺點。A.訪問者模式使得易于增加新的操作 B.訪問者集中相關(guān)的操作而分離無關(guān)的操作C.增加新的ConcreteElment類很困難 D.通過類層次進行訪問三、判斷題(共10分,每題1分;請在認(rèn)為正確的題目后面寫T,錯誤的題目后面寫F)設(shè)計模式的兩大主題是系統(tǒng)復(fù)用與系統(tǒng)擴展。(T )抽象工廠模式提供了一系列相關(guān)或相互依賴對象的接口且必須指定他們具體的類( F)對象適配器模式是依賴倒轉(zhuǎn)原則的典型應(yīng)用(F )Open-Close原則的含義是一個軟件實體應(yīng)當(dāng)對擴展開放,對修改關(guān)閉(T )Singleton(單例)(F)常用的設(shè)計模式可分為過程型、創(chuàng)建型和結(jié)構(gòu)型(F )對觀察者模式,觸發(fā)事件的對象——Subject對象不需要知道觀察事件的所有對象。(T )(T)對象適配器模式是依賴倒轉(zhuǎn)原則的典型應(yīng)用(F )TemplateMethod是用以幫助從不同的步驟中抽象出一個通用的過程的模式(T 四、名詞解釋(共15分,每題3分)設(shè)計模式答:是一套被反復(fù)使用、多數(shù)人知曉的、經(jīng)過分類編目的、代碼設(shè)計經(jīng)驗的總結(jié)。使用設(shè)計模式是為了可重用代碼、讓代碼更容易被他人理解、保證代碼可靠性。開閉原則答:一個軟件實體應(yīng)當(dāng)對擴展開放,對修改關(guān)閉,即在不修改源代碼的基礎(chǔ)上擴展一個系統(tǒng)的行為。單一職責(zé)原則答:一個對象應(yīng)該只包含單一的職責(zé),并且該職責(zé)被完整地封裝在一個類中。依賴關(guān)系答:依賴關(guān)系是一種使用關(guān)系,它是對象之間相合度最弱的一種關(guān)聯(lián)方式,是臨時性的關(guān)聯(lián)。組合關(guān)系答:組合關(guān)系也是關(guān)聯(lián)關(guān)系的一種,也表示類之間的整體與部分的關(guān)系,但它是一種更強烈的聚合關(guān)系,是contains-a關(guān)系。在組合關(guān)系中,整體對象可以控制部分對象的生命周期,一旦整體對象不存在,部分對象也將不存在,部分對象不能脫離整體對象而存在。五、簡答題(共15分,每題5分)設(shè)計模式一般有哪幾個基本要素?設(shè)計模式一般有如下幾個基本要素:模式名稱、問題、目的、解決方案、效果、實例代碼和相關(guān)設(shè)計模式,其中的關(guān)鍵元素包括模式名稱、問題、解決方案和效果。創(chuàng)建型模式分包括哪幾種設(shè)計模式,各是什么并簡要說明。⑴單例(Singleton)模式:某個類只能生成一個實例,該類提供了一個全局訪問點供外部獲取該實例,其拓展是有限多例模式。⑵原型(Prototype)模式:將一個對象作為原型,通過對其進行復(fù)制而克隆出多個和原型類似的新實例。⑶工廠方法(FactoryMethod)模式:定義一個用于創(chuàng)建產(chǎn)品的接口,由子類決定生產(chǎn)什么產(chǎn)品。⑷抽象工廠(AbstractFactory)模式:提供一個創(chuàng)建產(chǎn)品族的接口,其每個子類可以生產(chǎn)一系列相關(guān)的產(chǎn)品。⑸建造者(Builder)模式:將一個復(fù)雜

溫馨提示

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

評論

0/150

提交評論