設計模式中的關係總結 在軟體系統中,類並不是獨立存在的,類與類之間存在各種關係,對於不同類型的關係,UML提供了不同的表示方式。現在來總結梳理下: 一、關聯關係 類與類之間最常用的一種關係,是一種結構化的關係,用實線連接有關聯關係的對象所對應的類。java中,常將一個類的對象作為另一個類的成員變數。 ...
設計模式中的關係總結
在軟體系統中,類並不是獨立存在的,類與類之間存在各種關係,對於不同類型的關係,UML提供了不同的表示方式。現在來總結梳理下:
一、關聯關係
類與類之間最常用的一種關係,是一種結構化的關係,用實線連接有關聯關係的對象所對應的類。java中,常將一個類的對象作為另一個類的成員變數。
1.雙向關聯
2.單向關聯
3.自關聯
4.多重性關聯
5.聚合關係
聚合(Aggregation)關係表示整體與部分的關係。
6.組合關係
組合關係也表示類之間整體和部分的關係,但是在組合關係中整體對象可以控制對象成員的生命周期,一旦整體對象不存在,成員對象也將不存在,成員對象與整體對象之間具有同生共死的關係。
組合關係用帶實心菱形的直線表示。
二、依賴關係(Denpendency)
依賴(Denpendency)關係是一種使用關係。
大多數情況下,依賴關係體現在某個類的方法使用另一個類的對象作為參數。
敲黑板:
依賴關係通常通過3種方式來實現。
- 第一種: 如上圖,將一個類的對象作為另一個類中的方法
- 第二種: 在一個類的方法中將另一個類的對象作為其局部變數
- 第三種: 在一個類的方法中調用另一個類的靜態方法。
三、泛化關係(Generalization)
泛化(Generalization)關係也就是繼承關係,用於描述父類與子類之間的關係。
泛化關係用帶空心三角形的直線來表示。
四、實現關係(Realization)
在介面中,通常沒有屬性。而且所有的操作都是抽象的,只有操作的聲明,沒有操作的實現。
介面之間可以有與類之間關係類似的繼承關係和依賴關係。
介面與類之間還存在一種實現(Realization)關係。
這種關係,類實現了介面,類中的操作實現了介面中所聲明的操作。
實現關係用帶空心三角形的虛線來表示。
總結,以上主要介紹了設計模式中的類與類之間存在的各種關係,不同類型的關係,UML如何表示。
文章參考:《設計模式的藝術--軟體開發人員的內功修煉之道》
歡迎關註本人微信公眾號,不定時推送相關文章,有任何問題都可以留言討論,希望和大家共成長。
完
感謝點贊和收藏,轉發請註明文章地址和作者名稱。