如何畫UML
前言
最近在學習設計模式,其中不免涉及到 UML,這裡來複習下 UML 是如何畫的。
UML
這裡根據【大話設計模式中】中動物和鳥關係的例子,重新畫了這個關係的 uml 類圖
這裡根據上面的這個例子,我們一一來展開分析
類
類是具有相似結構、行為和關係的一組物件的描述符,是面向物件系統中最重要的構造塊
上面的圖片,從第一格往下面分析
第一層 顯示類的名稱,如果是抽象類就用斜體表示
第二層 類的特性,通常是欄位和屬性
第三層 類的操作,通常是方法和行為
前面的符號需要我們特殊注意
- "+" 表示public
- "-" 表示private
- "#" 表示protected
類的關係
1、依賴關係
依賴關係,就是構造這個類的時候需要依賴其他的類,比如:動物,動物有新陳代謝,新陳代謝就需要依賴水,食物,氧氣,所以動物依賴水和氧氣,他們之間及時依賴關係。
2、繼承關係
繼承(泛化)關係,它指定了子類如何特化父類的所有特徵和行為。用帶空心三角形的實線表示。
圖中的動物,鳥,鴨,唐老鴨之前的關係就是繼承的關係
3、實現關係
一種類與介面的關係,表示類是介面所有特徵和行為的實現。
用帶空心三角形的虛線表示
例如:大雁實現了飛行的介面
棒棒糖表示法
介面還有另一種的表示方法俗稱棒棒糖表示法
4、關聯關係
所謂關聯關係,就是這個類有一個屬性是其他類。
用實箭線表示
例子:比如企鵝,在每年特定的季節才會下蛋,所以需要知道氣候的變化。
5、聚合關係
聚合關係表示的是一種弱的'擁有'關係,是強的關聯關係;
用帶空心菱形的實線表示
特點: 部分物件的生命週期並不由整體物件來管理。也就是說,當整體物件已經不存在的時候,部分的物件還是可能繼續存在的。比如:一隻大雁脫離了雁群,依然是可以繼續存活的。
6、組合關係
組合關係是一種強的'擁有'關係,體現了嚴格的部分和整體的關係,部分和整體的生命週期一樣。
用帶實心菱形的實線表示,線頭的兩端會有數字1和2,這被成為基數。表明這一端的類可以有幾個例項。比如鳥有兩個翅膀。
總結
這裡通過動物這個例子,對 uml 中幾種經常用到的模型做了簡單的分析,總體看下來也不是很難
這裡主要是參考【大話設計模式】,有時間的話建議花時間閱讀下
參考
【大話設計模式】一本關於設計模式不錯的書籍