2023年4月16日 星期日

[UML] UML的關聯(association)、依賴(dependency)與差異

 關聯(association)與依賴(dependency)是UML類別圖常用來描述類別間的關係。

 關聯的表示如下,Customer關聯Order,用實線指到目標類別:


依賴的表示如下,MessageBroker依賴MessageFormat,虛線表示:









會覺得好像有點像? 

關聯是用在A類別擁有B類別的執行個體參考,如下程式碼:


而依賴則是代表A類別在其方法內建立或使用B類別的instance,
也就是A類別並沒有保存B類別的物件。








而箭頭上的數字就代表擁有參考的數量,如下圖就代表Customer擁有多張Order。


其實關聯還有其他2個特殊形式,聚合(aggregation)與組合(composition),
不過直接用關聯表示也可以,除非真的需要特別呈現出來。