最近發(fā)現(xiàn)同事在設(shè)計類接口的時候喜歡用UML圖,以前對這方面了解一點,只是沒有怎么使用過。
了解一下UML的基本原理,感覺還是挺有意思的。里面提到的幾個關(guān)系,還是需要記錄一下,分辨清楚
繼承與實現(xiàn)
- 泛化(generalization):表示is-a的關(guān)系,其實就是繼承關(guān)系。三角箭頭加實線表示。三角指向父類。
- 實現(xiàn)(Realization): 專門指接口的實現(xiàn)。三角箭頭加虛線表示。三角指向接口。
關(guān)聯(lián)與依賴
關(guān)聯(lián)(Association) : 引用關(guān)系,可簡單理解為類的屬性。在類圖使用帶箭頭的實線表示,箭頭指向被引用的類(屬性)。一般是單向。如果是雙向,要考慮循環(huán)引用問題,這樣的屬性要考慮用weak弱引用。
依賴:簡單說就是方法的調(diào)用關(guān)系。在類圖使用帶箭頭的虛線表示,箭頭指向被調(diào)用的類。
聚合與組合
聚合(Aggregation) : 表示has-a的關(guān)系,群體和個體的關(guān)系。個體可單獨存在。在類圖使用空心的菱形表示,菱形指向群體。
組合(Composition) : 表示contains-a的關(guān)系,整體和部分的關(guān)系。部分不能脫離整體存在。在類圖使用實心的菱形表示,菱形指向整體。
下面是類圖的一些基本組件:

UML類圖.jpg