軟件體系結構期末考試題_第1頁
軟件體系結構期末考試題_第2頁
軟件體系結構期末考試題_第3頁
全文預覽已結束

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

/軟件體系結構-設計模式練習題11.面向對象分析與設計中的<1>是指一個模塊在擴展性方面應該是開放的,而在更改性方面應該是封閉的;而<2>是指子類應當可以替換父類并出現在父類能夠出現的任何地方。<1>A.開閉原則

B.替換原則

C.依賴原則

D.單一職責原則<2>A.開閉原則

B.替換原則

C.依賴原則

D.單一職責原則2.<3>限制了創建類的實例數量,而<4>將一個類的接口轉換成客戶希望的另外一個接口,使得原本由于接口不兼容而不能一起工作的那些類可以一起工作。<3>A.命令模式<Command>B.適配器模式<Adapter>C.策略模式<Strategy>D.單例模式<Singleton><4>A.命令模式<Command>

B.適配器模式<Adapter>C.策略模式<Strategy>D.單例模式<Singleton>3.<5>設計模式允許一個對象在其內部狀態改變時改變它的行為。下圖為這種設計模式的類圖,已知類State為抽象類,則類<6>的實例代表了Context對象的狀態。<5>A.單件<Singleton>B.橋接<Bridge>C.組合<Composite>

D.狀態<State><6>A.Context

B.ConcreteStateA

C.HandleD.State4.某公司欲開發一門戶網站.將公司的各個分公司及辦事處信息進行整合。現決定采用Composite設計模式來實現公司的組織結構關系.并設計了如下圖所示的UML類圖。圖中與Composite模式中的"Component"角色相對應的類是<7>.與"Composite"角色相對應的類是<8>。<7>A.CompanyB.FinanceDepartmentC.HRDepartmentD.ConcreteCompany

<8>A.CompanyB.FinanceDepartmentC.HRDepartmentD.ConcreteCompany5.某軟件公司正在設計一個通用的嵌入式數據處理平臺.需要支持多種數據處理芯片之間的數據傳遞與交換。該平臺的核心功能之一要求能夠屏蔽芯片之間的數據交互.使其耦合松散.并且可以獨立改變芯片之間的交互過程。針對上述需求.采用<9>最為合適。

<9>A.抽象工廠模式

B.策略模式

C.中介者模式D.狀態模式6.某軟件公司正在設計一個圖像處理軟件.該軟件需要支持用戶在圖像處理中的撤銷和重做等動作.為了實現該功能.采用<10>最為合適。

<10>A.單例模式B.命令模式

C.訪問者模式

D.適配器模式7.某互聯網公司正在設計一套網絡聊天系統.為了限制用戶在使用該系統時發表不恰當言論.需要對聊天內容進行特定敏感詞的過濾。針對上述功能需求.采用<11>能夠靈活配置敏感詞的過濾過程。

<11>A.責任鏈模式B.工廠模式

C.組合模式

D.裝飾模式8.某軟件公司欲開發一個Windows平臺上的公告板系統。在明確用戶需求后.該公司的架構師決定采用Command模式實現該系統的界面顯示部分.并設計UML類圖如下圖所示。圖中與Command模式中的"Invoker"角色相對應的類是<12>.與"ConcreteCommand"角色相對應的類是<13>。<13>

A.Command

B.MenuItem

C.Open

D.BulktinBoardScreen

<14>

A.Command

B.MenuItem

C.Open

D.BulktinBoardScreen9.某軟件公司基于面向對象技術開發了一套圖形界面顯示構件庫VisualComponent。在使用該庫構建某圖形界面時.用戶要求為界面定制一些特效顯示效果.如帶滾動條、能夠顯示藝術字體的透明窗體等。針對這種需求.公司采用<15>最為靈活。

<15>

A.橋接模式

B.命令模式

C.組合模式

D.裝飾模式10.某軟件公司承接了為某工作流語言開發解釋器的工作。該工作流語言由多種活動節點構成.具有類XML的語法結構。用戶要求解釋器工作時.對每個活動節點進行一系列的處理.包括執行活動、日志記錄、調用外部應用程序等.并且要求處理過程具有可擴展能力。針對這種需求.公司采用<16>

最為恰當。

<16>

A.適配器模式

B.迭代器模式

C.訪問者模式

D.觀察者模式軟件體系結構-設計模式練習題21、設計模式一般用來解決什么樣的問題<>

A.同一問題的不同表相

B不同問題的同一表相

C.不同問題的不同表相

D.以上都不是

2、下列屬于面向對象基本原則的是<>

A.繼承

B.封裝C.里氏代換

D都不是

3、Open-Close原則的含義是一個軟件實體<>

A.應當對擴展開放.對修改關閉.B.應當對修改開放.對擴展關閉

C.應當對繼承開放.對修改關閉D.以上都不對

4、當我們想創建一個具體的對象而又不希望指定具體的類時.可以使用〔模式。

A.創建型

B.結構型C行為型D.以上都可以

5、要依賴于抽象.不要依賴于具體。即針對接口編程.不要針對實現編程,是<>的表述

A.開-閉原則B.接口隔離原則C.里氏代換原則D.依賴倒轉原則6、依據設計模式思想,程序開發中應優先使用的是<>關系實現復用。

A,委派

B.繼承

C創建

D.以上都不對復用方式:繼承和組合聚合〔組合委派

7、設計模式的兩大主題是<>

A.系統的維護與開發

B對象組合與類的繼承

C.系統架構與系統開發

D.系統復用與系統擴展

8、單子模式中,兩個基本要點<>和單子類自己提供單例

A.構造函數私有B.唯一實例

C.靜態工廠方法

D.以上都不對

9、下列模式中,屬于行為模式的是<>

A.工廠模式

B觀察者

C適配器

以上都是

10、"不要和陌生人說話"是<>原則的通俗表述

A.接口隔離

B.里氏代換C.依賴倒轉D.迪米特:一個對象應對其他對象盡可能少的了解

11、構造者的的退化模式是通過合并〔角色完成退化的。

A.抽象產品

B產品

C創建者

D使用者

12、對象適配器模式是〔原則的典型應用。

A.合成聚合復用原則

B.里式代換原則

C.依賴倒轉原則

D.迪米特法則

13、靜態工廠的核心角色是〔

A.抽象產品

B.具體產品

C.靜態工廠

D.消費者

15、下列關于靜態工廠與工廠方法表述錯誤的是:〔

A.兩者都滿足開閉原則:靜態工廠以ifelse方式創建對象.增加需求的時候會修改源代碼

B.靜態工廠對具體產品的創建類別和創建時機的判斷是混和在一起的.這點在工廠方法中

C.不能形成靜態工廠的繼承結構

D.在工廠方法模式中.對于存在繼承等級結構的產品樹.產品的創建是通過相應等級結構的工廠創建的。

16、在觀察者模式中.表述錯誤的是〔

A.觀察者角色的更新是被動的。

B.被觀察者可以通知觀察者進行更新

C.觀察者可以改變被觀察者的狀態.再由被觀察者通知所有觀察者依據被觀察者的狀態進行。

D.以上表述全部錯誤。

17.對于違反里式代換原則的兩個類.可以采用的候選解決方案錯誤的是:〔

A.創建一個新的抽象類C,作為兩個具體類的超類.將A和B共同的行為移動到C中.從而解決A和B行為不完全一致的問題。

B.將B到A的繼承關系改組成委派關系。

C.區分是"IS-a"還是"Has-a"。如果是"Is-a".可以使用繼承關系.如果是"Has-a"應該改成委派關系

D.以上方案錯誤

18.對象組合的有點表述不當的是〔

A.容器類僅能通過被包含對象的接口來對其進行訪問。

B."黑盒"復用.封裝性好.因為被包含對象的內部細節對外是不可見。

C.通過獲取指向其它的具有相同類型的對象引用.可以在運行期間動態地定義〔對象的組合

D.造成極其嚴重的依賴關系。

19.關于繼承表述錯誤的是:〔

A.繼承是一種通過擴展一個已有對象的實現.從而獲得新功能的復用方法。

B.泛化類〔超類可以顯式地捕獲那些公共的屬性和方法。特殊類〔子類則通過附加屬性和方法來進行實現的擴展。

C.破壞了封裝性.因為這會將父類的實現細節暴露給子類。

D.繼承本質上是"白盒復用".對父類的修改.不會影響到子類。

20.對于依賴倒轉的表述錯誤的是〔

A.依賴于抽象而不依賴于具體.也就是針對接口編程。

B.依賴倒轉的接口并非語法意義上的接口.而是.一個類對其他對象進行調用時.所知道的方法集合。

C.從選項B的角度論述.一個對象可以有多個接口。

D.實現了同一接口的對象.可以在運行期間.順利地進行替換。而且不必知道所示用的對象是那個實現類的實例。

E.此題沒有正確答案。

21.面向對象的六條基本原則包括:開閉原則.里式代換原則.合成聚合原則以及〔.〔.〔.〔。

22.在存在繼承關系的情況下.方法向〔方向集中.而數據向〔方向集中。

23.適配器模式.分為類的適配器和對象的適配器兩種實現。其中類的適配器采用的是〔關系.而對象適配器采用的是〔關系。

24.設計模式的基本要素

溫馨提示

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

評論

0/150

提交評論