如今,不多有人和90年代同樣,本身去實現一個軟件的各個方面,也就是說,在工做中,和人溝通是必備的技能。那麼,做爲一枚碼農,如何和他人溝通呢?這就要依靠本文的主題了——UML。工具
UML——Unified modeling language UML(統一建模語言),是一種用於軟件系統分析和設計的語言工具,它用於幫助軟件開發人員進行思考和記錄思路的結果。UML自己是一套符號的規定,就像數學符號和化學符號同樣,這些符號用於描述軟件模型中的各個元素和他們之間的關係,好比類、接口、實現、泛化、依賴、組合、聚合等。編碼
UML的繪製軟件有不少,能夠參見: www.zhihu.com/question/20… 。筆者使用過兩種UML插件:AmaterasUML 和 PlantUML,我的推薦使用PlantUML,可以以編碼的方式來繪製UML。官方教程:plantuml.com/zh/。插件
在本文中,咱們只要講述類圖的相關知識。設計
用於描述系統中的類(對象)自己的組成和類(對象)之間的各類靜態關係。3d
依賴、泛化(繼承)、實現、關聯、聚合與組合。cdn
所謂依賴,好比A類中用到了B類,那麼咱們就說A類依賴B類。 對象
再來一個詳細一點的例子: blog
泛化關係就是繼承關係,是依賴關係的一種。繪圖的時候注意:子類指向基類。 繼承
關聯關係就是依賴關係的一種特例,講的主要是類和類的聯繫。教程
組合關係一樣是表示總體和部分的關係,不過,和聚合關係不一樣的是:總體和局部不可分開。好比一我的Person和他的頭Head以及身份證IDCard的關係:Person和Head的關係就是組合,Person和IDCard的關係就是聚合。
可是,當咱們刪除一我的Person的時候要求同時刪除對應的IDCard(級聯刪除),咱們就能夠把他們看做是組合關係了。