設計模式總結性試題

2022-09-16 22:03:29 字數 3075 閱讀 1273

1、設計模式一般用來解決什麼樣的問題( a)

a.同一問題的不同表相    b不同問題的同一表相

c.不同問題的不同表相    d.以上都不是

2、下列屬於物件導向基本原則的是( c )

a.繼承  b.封裝 c.黎克特制代換  d都不是

3、open-close原則的含義是乙個軟體實體( a )

a.應當對擴充套件開放,對修改關閉.

b.應當對修改開放,對擴充套件關閉

c.應當對繼承開放,對修改關閉

d.以上都不對

4、當我們想建立乙個具體的物件而又不希望指定具體的類時,可以使用( a )模式。

a.建立型  b.結構型 c行為型 d.以上都可以

5、要依賴於抽象,不要依賴於具體。即針對介面程式設計,不要針對實現程式設計,是( d )的表述

a.開-閉原則

b.介面隔離原則

c.黎克特制代換原則

d.依賴倒轉原則

6、依據設計模式思想,程式開發中應優先使用的是( a )關係實現復用。

a, 委派  b.繼承  c建立   d.以上都不對

復用方式:繼承和組合聚合(組合委派)

7、設計模式的兩大主題是( d )

a.系統的維護與開發       b 物件組合與類的繼承

c.系統架構與系統開發     d.系統復用與系統擴充套件

8、單子模式中,兩個基本要點( a b )和單子類自己提供單例

a .建構函式私有    b.唯一例項

c.靜態工廠方法    d.以上都不對

9、下列模式中,屬於行為模式的是( b )

a.工廠模式   b觀察者   c介面卡  以上都是

10、「不要和陌生人說話」 是( d )原則的通俗表述

a.介面隔離   b.黎克特制代換  c.依賴倒轉   d.迪公尺特:乙個物件應對其他物件盡可能少的了解

11、構造者的的退化模式是通過合併( c )角色完成退化的。

a.抽象產品    b產品    c建立者     d使用者

12、單子(單例,單態)模式類圖結構如下:

下列論述中,關於」0..1」表述的不正確的是( d )

a.1表示,乙個單例類中,最多可以有乙個例項.

b.」0..1」表示單例類中有不多於乙個的例項

c.0表示單例類中可以沒有任何例項

d.0表示單例類可以提供其他非自身的例項

13、物件介面卡模式是( a )原則的典型應用。

a.合成聚合復用原則     b.裡式代換原則

c.依賴倒轉原則        d.迪公尺特法則

14、靜態工廠的核心角色是(a)

a.抽象產品   b.具體產品    c.靜態工廠   d.消費者

15、下列關於靜態工廠與工廠方法表述錯誤的是:( a )

a.兩者都滿足開閉原則:靜態工廠以if else方式建立物件,增加需求的時候會修改源**

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

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

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

16、在觀察者模式中,表述錯誤的是( c )

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

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

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

d.以上表述全部錯誤。

17.對於違反裡式代換原則的兩個類,可以採用的候選解決方案錯誤的是:( d )

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

b.將b到a的繼承關係改組成委派關係。

c.區分是「is-a」還是」has-a」。如果是「is-a」,可以使用繼承關係,如果是」has-a」應該改成委派關係

d.以上方案錯誤

18.物件組合的有點表述不當的是( d )

a. 容器類僅能通過被包含物件的介面來對其進行訪問。

b. 「黑盒」復用,封裝性好,因為被包含物件的內部細節對外是不可見。

c. 通過獲取指向其它的具有相同型別的物件引用,

可以在執行期間動態地定義(物件的)組合

d.造成極其嚴重的依賴關係。

19.關於繼承表述錯誤的是:( d )

a.繼承是一種通過擴充套件乙個已有物件的實現,從而獲得新功能的復用方法。

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

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

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

20.對於依賴倒轉的表述錯誤的是( e )

a.依賴於抽象而不依賴於具體,也就是針對介面程式設計。

b.依賴倒轉的介面並非語法意義上的介面,而是,乙個類對其他物件進行呼叫時,所知道的方法集合。

c.從選項b的角度論述,乙個物件可以有多個介面。

d.實現了同一介面的物件,可以在執行期間,順利地進行替換。而且不必知道所示用的物件是那個實現類的例項。

e.此題沒有正確答案。

21.物件導向的六條基本原則包括:開閉原則,裡式代換原則,合成聚合原則以及

(依賴倒轉),(迪公尺特法則),(單一原則),(介面隔離?)。

22.在存在繼承關係的情況下,方法向(超類)方向集中,而資料向(子類)方向集中。

23.介面卡模式,分為類的介面卡和物件的介面卡兩種實現。

其中類的介面卡採用的是(繼承)關係,而物件介面卡採用的是(組合聚合)關係。

24.設計模式的基本要素有(名字 ),(意圖 ),(問題 ),( 解決方案 ),(參與者與協作者 ),( 實現),(一般性結構)。

25.創立型模式的根本意圖是要把(物件的建立)和(使用分離)的責任進行分離,從而降低系統的(耦合度)。

26.工廠模式分為(簡單工廠),(工廠方法),(抽象工廠)三種型別

27.門面模式是(迪公尺特)法則的典型運用

28.mvc模型的基本工作原理是基於(觀察者)模式,實現是基於(命令)模式

29.設計模式的思想根源是(開閉)基本原則的巨集觀運用,本質上是沒有任何模式的,

發現模式的人永遠是大師,而死守模式的人,最對只能是乙個工匠.

C hashtable使用說明 總結性

一,雜湊表 hashtable 簡述 在.net framework中,hashtable是system.collections命名空間提供的乙個容器,用於處理和表現類似key value的鍵值對,其中key通常可用來快速查詢,同時key是區分大小寫 value用於儲存對應於key的值。hashta...

TCP IP基礎總結性學習(1)

cern 歐洲核子研究組織 的蒂姆 伯納斯 李 tim bernerslee 博士提出了一種能讓遠隔兩地的研究者們共享知識的設想。最初設想的基本理念是 借助多文件之間相互關聯形成的超文字 hypertext 連成可相互參閱的 www world wide web,萬維 網 現在已提出了 3 項 ww...

oo第二次總結性部落格作業

第五次作業感覺是學習多執行緒的起手題目,並沒有很複雜的邏輯關係,電梯的排程也是最簡單的傻瓜排程。這裡我設定了三個執行緒,雖然本次作業的排程器沒有什麼作用,但是還是按照要求打出來了 我使用了乙個請求佇列的類,用於儲存請求,並作為處理輸入執行緒與排程器執行緒的共享物件資源。排程器與電梯共享乙個佇列,電梯...