如何畫UML

前言

最近在學習設計模式,其中不免涉及到 UML,這裡來複習下 UML 是如何畫的。

UML

這裡根據【大話設計模式中】中動物和鳥關係的例子,重新畫了這個關係的 uml 類圖

這裡根據上面的這個例子,我們一一來展開分析

類是具有相似結構、行為和關係的一組物件的描述符,是面向物件系統中最重要的構造塊

上面的圖片,從第一格往下面分析

  • 第一層 顯示類的名稱,如果是抽象類就用斜體表示

  • 第二層 類的特性,通常是欄位和屬性

  • 第三層 類的操作,通常是方法和行為

前面的符號需要我們特殊注意

  • "+" 表示public
  • "-" 表示private
  • "#" 表示protected

類的關係

1、依賴關係

依賴關係,就是構造這個類的時候需要依賴其他的類,比如:動物,動物有新陳代謝,新陳代謝就需要依賴水,食物,氧氣,所以動物依賴水和氧氣,他們之間及時依賴關係。

2、繼承關係

繼承(泛化)關係,它指定了子類如何特化父類的所有特徵和行為。用帶空心三角形的實線表示。

圖中的動物,鳥,鴨,唐老鴨之前的關係就是繼承的關係

3、實現關係

一種類與介面的關係,表示類是介面所有特徵和行為的實現。

用帶空心三角形的虛線表示

例如:大雁實現了飛行的介面

棒棒糖表示法

介面還有另一種的表示方法俗稱棒棒糖表示法

4、關聯關係

所謂關聯關係,就是這個類有一個屬性是其他類。

用實箭線表示

例子:比如企鵝,在每年特定的季節才會下蛋,所以需要知道氣候的變化。

5、聚合關係

聚合關係表示的是一種弱的'擁有'關係,是強的關聯關係;

用帶空心菱形的實線表示

特點: 部分物件的生命週期並不由整體物件來管理。也就是說,當整體物件已經不存在的時候,部分的物件還是可能繼續存在的。比如:一隻大雁脫離了雁群,依然是可以繼續存活的。

6、組合關係

組合關係是一種強的'擁有'關係,體現了嚴格的部分和整體的關係,部分和整體的生命週期一樣。

用帶實心菱形的實線表示,線頭的兩端會有數字1和2,這被成為基數。表明這一端的類可以有幾個例項。比如鳥有兩個翅膀。

總結

這裡通過動物這個例子,對 uml 中幾種經常用到的模型做了簡單的分析,總體看下來也不是很難

這裡主要是參考【大話設計模式】,有時間的話建議花時間閱讀下

參考

【大話設計模式】一本關於設計模式不錯的書籍