天天看點

設計模式之前奏(UML類圖)

本人菜菜一個,最近一直在部落格園遊走閑逛,看到了各種技術,各種各種……。便看到了大話設計模式這本書,下了電子版的看了看第一章,感覺相當不錯,不僅通俗易懂,而且與實際案例相結合,可就是電子版的,鄙人很少看小說,是以立馬在京東下單買了本。就是給力……

看了看書,翻了翻,第一章簡單工廠模式最後講解的是UML類圖,以前見到過,但從來沒畫過,也就是一眼而過。但是又好好看了看書,後面幾乎每種模式都會用UML類圖來闡述設計模式的整體架構。是以就回過頭來好好把第一章最後的UML類圖看了一下,在這裡進行做一下筆記。

首先看一張完整的UML類圖圖示樣例

設計模式之前奏(UML類圖)

第一(類):

設計模式之前奏(UML類圖)

這個 "動物"矩形框,它就是一個類(Class)。類圖分為三個部分,第一部分顯示類的名稱,如果是抽象類,則就用斜體來表示。第二部分是類的特性,通常就是字段和屬性。第三部分是類的操作,通常是方法或行為。之一前面的符号,"+"表示public,"-"表示private,'#'表示protected.

第二(接口)

設計模式之前奏(UML類圖)

它表示一個接口圖,與類圖的差別主要是頂端有《interface》顯示。第一行是接口名稱,第二行是接口方法。接口還有另外一種表示方法,俗稱棒棒糖表示法,比如圖中的唐老鴨就是實作了"講人話"的接口。

第三繼承

設計模式之前奏(UML類圖)

類和類、類與接口之間都是繼承的關系。繼承關系用空心三角形+實線來表示。

第四實作接口

設計模式之前奏(UML類圖)

大雁是最能飛的,我讓它實作了飛翔的接口。實作接口用空心三角形和虛線來表示。

第五關聯

設計模式之前奏(UML類圖)

企鵝和氣候兩個類,企鵝是很特别的鳥,會遊不會飛。更重要的是它與氣候相關聯,它需要知道氣候。那麼這種關系就是關聯。關聯關系用實線剪頭來表示。

第六聚合

設計模式之前奏(UML類圖)

大雁和雁群這兩個類,大雁是群居動物,每隻大雁都是屬于一個雁群的,每個雁群都可以有多隻大雁。是以它們就滿足聚合的關系。聚合表示一種"弱的擁有關系",展現的是A對象可以包含B對象,但B對象不是A對象的一部分。聚合關系用空心的菱形和實心剪頭來表示。

第七合成

設計模式之前奏(UML類圖)

"合成"或者叫"組合",是一種強的"擁有關系",展現了嚴格的部分和整體的關系,部分和整體的聲明周期一樣。就如上圖的鳥和翅膀的關系。一隻鳥有兩隻翅膀。他們之間存在一個基數。關聯關系和聚合關系也都是有基數的。如果一個類可能有無數個執行個體,那麼可以用”n“來表示。

第八依賴

設計模式之前奏(UML類圖)

動物幾大特征,比如有新陳代謝,能繁殖。而動物要有生命力,需要氧氣、水以及食物等。也就是說,動物依賴于氧氣和水。他們之間是一來關系。用虛線剪頭來表示。

對于UML類圖來說,大體上也就這幾種關系,其實也不算難。但是UML類圖也不是一學就會的,需要有個慢慢熟練的過程。

繼續閱讀