設計模式中的關系總結
在軟體系統中,類并不是獨立存在的,類與類之間存在各種關系,對于不同型別的關系,UML提供了不同的表示方式,現在來總結梳理下:
一、關聯關系
類與類之間最常用的一種關系,是一種結構化的關系,用實線連接有關聯關系的物件所對應的類,java中,常將一個類的物件作為另一個類的成員變數,
1.雙向關聯

2.單向關聯

3.自關聯

4.多重性關聯




5.聚合關系
聚合(Aggregation)關系表示整體與部分的關系,


6.組合關系
組合關系也表示類之間整體和部分的關系,但是在組合關系中整體物件可以控制物件成員的生命周期,一旦整體物件不存在,成員物件也將不存在,成員物件與整體物件之間具有同生共死的關系,
組合關系用帶實心菱形的直線表示,


二、依賴關系(Denpendency)
依賴(Denpendency)關系是一種使用關系,
大多數情況下,依賴關系體現在某個類的方法使用另一個類的物件作為引數,

敲黑板:
依賴關系通常通過3種方式來實作,
- 第一種: 如上圖,將一個類的物件作為另一個類中的方法
- 第二種: 在一個類的方法中將另一個類的物件作為其區域變數
- 第三種: 在一個類的方法中呼叫另一個類的靜態方法,
三、泛化關系(Generalization)
泛化(Generalization)關系也就是繼承關系,用于描述父類與子類之間的關系,
泛化關系用帶空心三角形的直線來表示,

四、實作關系(Realization)
在介面中,通常沒有屬性,而且所有的操作都是抽象的,只有操作的宣告,沒有操作的實作,
介面之間可以有與類之間關系類似的繼承關系和依賴關系,
介面與類之間還存在一種實作(Realization)關系,
這種關系,類實作了介面,類中的操作實作了介面中所宣告的操作,
實作關系用帶空心三角形的虛線來表示,


總結,以上主要介紹了設計模式中的類與類之間存在的各種關系,不同型別的關系,UML如何表示,
文章參考:《設計模式的藝術--軟體開發人員的內功修煉之道》

歡迎關注本人微信公眾號,不定時推送相關文章,有任何問題都可以留言討論,希望和大家共成長,
完
感謝點贊和收藏,轉發請注明文章地址和作者名稱,
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/169906.html
標籤:Java
