1. 程式人生 > >設計模式之看懂UML類圖

設計模式之看懂UML類圖

另一個 語言 表示 first 狀態圖 兩種 天然 公司 ocs

什麽是UML:

  UML(統一建模語言)是當今軟件設計的標準圖標式語言。對於一個軟件系統而言,UML語言具有以下的功能:可視化功能、說明功能、建造功能和建文檔功能。

  UML都包括什麽類型的圖:

  1. 使用案例圖
  2. 類圖
  3. 序列圖
  4. 合作圖
  5. 狀態圖
  6. 活動圖
  7. 構件圖
  8. 部署圖

這些圖由歸屬於兩種類型(pdf的圖是歪歪的0.0):

技術分享圖片

針對於這多種多樣的圖中,我們主要講解的是跟我們最接近,也最長使用的:類圖。

下面我們將介紹類圖中的最常用的六種關系:

技術分享圖片(圖片來自於網絡)

首先第一種:

  1. 泛化關系(相對於java類中,就是繼承關系 比如說 A繼承了 B 那麽對應到圖上就就是 A -> B )
技術分享圖片 2.實現關系(對於java類中,就是實現了某一個接口或者抽象,比如說A實現了B,那麽相對應的就是 A---> B) 技術分享圖片 3. 聚合關系(對於java類中,我理解的應該是屬性的概念, 例如下圖中,班級中有個屬性是學生(雖然有點扯淡0.0),班級是由學生組成的) 技術分享圖片

4.組合關系(A組成B,或者B由A組成,但組合關系是一種強依賴的特殊聚合關系,如果整體不存在了,則部分也不存在了;例如, 公司不存在了,部門也將不存在了;)

技術分享圖片

5.關聯關系(是用一條直線表示的;它描述不同類的對象之間的結構關系;它是一種靜態關系, 通常與運行狀態無關,一般由常識等因素決定的;它一般用來定義對象之間靜態的、天然的結構; 所以,關聯關系是一種“強關聯”的關系);

技術分享圖片

6.依賴關系(依賴關系是用一套帶箭頭的虛線表示的;如下圖表示A依賴於B;他描述一個對象在運行期間會用到另一個對象的關系;)

技術分享圖片

好,我們先到這裏了,具體的情況我寫完這篇文章自己好像也沒有很清楚,下次自己用到的時候希望可以加深下自己的理解,加油!


參考文檔:

https://design-patterns.readthedocs.io/zh_CN/latest/creational_patterns/creational.html

《head First設計模式》

《Java與模式》

設計模式之看懂UML類圖