UML 是什麼?
比較官方的描述是這樣的:
UML(Unified Modeling Language)是一種開放的方法,用于說明、可視化、建構和編寫一個正在開發的、面向對象的、軟體密集系統的制品的開放方法。
而我的描述:
UML算是 研發與非研發之間的其中一種 對于業務設計的 溝通方式。
而且,在寫代碼之前, 設計肯定是先行的。
沒有經過思考寫出來的代碼...是沒有含思量的。
類圖結構
接口圖結構
UML類圖 的 六大關系
繼承、實作、組合、聚合、關聯、依賴
每種關系都有自己的表示方式,也就是 線 + 箭頭 組成
專業的線和箭頭
專業的符号
屬性和方法前面的“+”、“-”和“#”表示通路級别:
+
:public
-
:private
:protected
#
結合執行個體、簡圖 學習
繼承關系
類跟類之間的繼承關系,大家肯定不陌生,父子關系,子繼承父。
圖示:
實作關系
類跟接口之間的實作關系,大家肯定也不陌生。
圖示:
聚合關系
展現的是A對象(學校)可以包含B對象(老師、學生),但B對象不是A對象的一部分。
老師、學生,如果學校不存在了,他們還是可以單獨存在。
聚合表示一種弱的‘擁有’關系。
圖示 :
組合關系
展現的是 A對象(鳳凰)可以包含B對象 (翅膀、爪子等)。A作為整體, B作為部分。
如果A沒了,B也就沒了。 鳳凰沒了, 它的翅膀也是相當于沒了。
整體和部分有一緻的生命周期。
組合表示一種強的‘擁有’關系。
圖示 :
關聯關系
關聯關系,顯然就是存在 類和類之間都有關聯,那就是 雙向奔赴 雙向關聯。
好比如,學生和老師之間的關聯, 學生關聯多個老師,老師也可以管理多個學生。
那當然也是有單向關聯, 也就是學生關聯多門課程, 但是課程是沒法主動關聯學生的。
其實,還有自己關聯自己,自關聯。
圖示:
依賴關系
其實有點點類似關聯關系,但是 依賴關系有個非常個性的特點,