如何畫UML
前言
最近在學習設計模式,其中不免涉及到 UML,這里來復習下 UML 是如何畫的。
UML
這里根據【大話設計模式中】中動物和鳥關系的例子,重新畫了這個關系的 uml 類圖

這里根據上面的這個例子,我們一一來展開分析
類
類是具有相似結構、行為和關系的一組對象的描述符,是面向對象系統中最重要的構造塊

上面的圖片,從第一格往下面分析
-
第一層 顯示類的名稱,如果是抽象類就用斜體表示
-
第二層 類的特性,通常是字段和屬性
-
第三層 類的操作,通常是方法和行為
前面的符號需要我們特殊注意
- "+" 表示public
- "-" 表示private
- "#" 表示protected
類的關系
1、依賴關系
依賴關系,就是構造這個類的時候需要依賴其他的類,比如:動物,動物有新陳代謝,新陳代謝就需要依賴水,食物,氧氣,所以動物依賴水和氧氣,他們之間及時依賴關系。
用虛線箭頭表示

2、繼承關系
繼承(泛化)關系,它指定了子類如何特化父類的所有特征和行為。用帶空心三角形的實線表示。
圖中的動物,鳥,鴨,唐老鴨之前的關系就是繼承的關系

3、實現關系
一種類與接口的關系,表示類是接口所有特征和行為的實現。
用帶空心三角形的虛線表示
例如:大雁實現了飛行的接口

棒棒糖表示法
接口還有另一種的表示方法俗稱棒棒糖表示法

4、關聯關系
所謂關聯關系,就是這個類有一個屬性是其他類。
用實箭線表示
例子:比如企鵝,在每年特定的季節才會下蛋,所以需要知道氣候的變化。

5、聚合關系
聚合關系表示的是一種弱的'擁有'關系,是強的關聯關系;
用帶空心菱形的實線表示
特點: 部分對象的生命周期並不由整體對象來管理。也就是說,當整體對象已經不存在的時候,部分的對象還是可能繼續存在的。比如:一只大雁脫離了雁群,依然是可以繼續存活的。

6、組合關系
組合關系是一種強的'擁有'關系,體現了嚴格的部分和整體的關系,部分和整體的生命周期一樣。
用帶實心菱形的實線表示,線頭的兩端會有數字1和2,這被成為基數。表明這一端的類可以有幾個實例。比如鳥有兩個翅膀。

總結
這里通過動物這個例子,對 uml 中幾種經常用到的模型做了簡單的分析,總體看下來也不是很難
這里主要是參考【大話設計模式】,有時間的話建議花時間閱讀下
參考
【大話設計模式】一本關於設計模式不錯的書籍
【如何畫UML】https://boilingfrog.github.io/2021/09/22/如何畫uml/