UML圖是理解面向對象語言代碼的利器。在開發(fā)中經常會使用到一些第三方庫,在文檔缺失的情況下,想快速了解代碼結構,可以通過工具快速生成UML圖來加速理解。
我常用的開發(fā)工具是android studio,它有一個插件叫做simpleUML,可以很方便的生成UML圖。

AndroidShowClassDiagram.png
理解UML
- uml圖里面有6種關系,按照強弱排序是:
- 泛化(繼承)= 實現(xiàn) > 組合 > 聚合 > 關聯(lián) > 依賴
- 繼承和實現(xiàn)比較好理解,對應java語言就是extends和implements。
- 組合、聚合都是關聯(lián)的一種,代碼層面表示就是成員變量,要區(qū)分它們只能從邏輯上來。
組合表示整體和部分的關系,這兩者是不可分割的,例如鴿子和翅膀
聚合也表示整體和部分的關系,但是弱一些,兩者可分離,例如鴿子和鴿群
關聯(lián)是一種擁有關系,例如企鵝和氣候
-
依賴是一種使用關系,代碼層面就是局部變量、方法參數或靜態(tài)方法
下面這張圖描述了這6種關系
UML-泛化實現(xiàn)組合聚合關聯(lián)依賴.gif
