IT學習筆記 設計模式

2021-08-21 07:06:46 字數 1203 閱讀 1514

1.學會看uml類圖

在「動物」矩形框,它就代表乙個(class)。類圖分三層,第一層顯示類的名稱,如果是抽象類,則就用斜體顯示。第二層是類的特性,通常就是欄位和屬性。第三層是類的操作,通常是方法或行為。注意前面的符號,「+」表示public,「-」表示private,「#」表示protected。

上圖中的左下角的「飛翔」,它表示乙個介面圖,與類圖的主要區別是頂端有《inte***ce》顯示。第一行是介面名稱,第二行是介面方法。介面還有另一種表示方法,俗稱棒棒糖表示法,就是上圖中的唐老鴨類實現了「講人話」的介面。

上圖中,在大雁類中,它實現了飛翔介面,實現介面用空心三角形+虛線來表示。

當乙個類「知道」另乙個類時,可以用關聯(asociation)。上圖企鵝需要「知道」氣候的變化,需要「了解」氣候規律,存在關聯關係。關聯關係用實線箭頭來表示。

再來看上圖的大雁與雁群兩個類,大雁是群居動物,每只大雁都是屬於乙個雁群,乙個雁群可以有多隻大雁。所以它們之間就滿足聚合(aggregation)關係。聚合表示一種弱的「擁有」關係,體現的是a物件可以包含b物件,但b物件不是a物件的一部分。聚合關係用空心菱形+實線箭頭來表示。

合成(composition,或叫組合)是一種強的「擁有」關係,體現了嚴格的部分和整體的關係,部分和整體的生命週期一樣。上圖中的鳥和其翅膀就是合成關係,因為它們是部分與整體的關係,其生命週期是相同的。合成關係用實心的菱形+實線箭頭來表示。連線兩段還有數字「1」和「2」,這被稱為基數,表示這一端的類可以有幾個例項,很明顯,乙個鳥應該有兩隻翅膀。如果乙個類可能有無數個例項,則就用「n」來表示。

動物要有生命力,需要氧氣、水以及食物等,也就是說,動物依賴於氧氣和水,他們之間是依賴關係(dependency),用虛線箭頭來表示。

2.簡單工廠模式

即用乙個單獨的類來做建立例項的過程。如簡單運算工廠類:

/*

* 簡單運算工廠類

*/public class operationfactory

return oper;

}}

設計模式學習筆記

1.簡單工廠模式 2.策略模式 3.單一職責原則 就乙個類而言,應該僅有乙個引起它變化的原因 4.開放 封閉原則 就是對軟體實體 類,模組,函式等 應該可以擴充套件,但是不可以修改,無論模組是多麼的 封閉 都會存在一些無法對之的封閉的變化。既然不可能完全封閉,設計人員就必須對他設計的模組應該對哪種變...

設計模式學習筆記

1.單例模式 限制只產生乙個物件。if object null 2.簡單工廠模式 通過乙個工廠類根據條件來建立各種各樣的類。3.工廠方法模式 對工廠類進行改造分解,工廠類公升級為介面,一對一建立工廠類 針對要生產的類 實現工廠介面。問題來了 簡單工廠和工廠方法有什麼優劣?4.迭代器模式 iterat...

設計模式學習筆記

策略模式 用於情景 鴨子行為,鴨子型別可以繼承,鴨子行為變成介面,各種各樣的行為去實現介面,然後在具體類中呼叫行為介面具體實現子類。遊戲玩家 變換。觀察者模式 用於場景 主題 觀察者 天氣預報資料展示,當氣象站收集到新的資料時,像各個面板推送最新的資料,面板顯示最新資料。裝飾者模式 用於場景 飲料加...