設計模式中常常使用uml來表示類與類,類與接口之間的關系,uml類圖是設計模式入門必備的技能,感覺各種關系比較多,這裡做一下總結。
類與接口通常是一個矩形框表示,一般分為3層,第一層顯示類的名稱,如果是抽象類則類名用斜體表示。第二層代表類的特性,通常是字段和屬性,第三層是類的操作,通常表現為方法或者行為,其中<code>+</code>表示public,<code>-</code>表示private,<code>#</code>表示protect

繼承
實作接口
實作接口用空閑三角形+虛線,在java中展現為<code>implements</code>關鍵字
聚合關系
聚合關系表現為一種<code>弱擁有</code>關系,展現為a對象可以包含b對象,但是b對象不是a對象的一部分。
實作用空心菱形+實線;
在java中可以展現為,一個類的數組或者通過setter或者getter方式注入到整體對象中
組合關系
組合關系也表示整體和部分之間的關系,展現出的是一種<code>強擁有</code>關系,即整體可以控制成員對象的生命周期,整體對象一旦不存在成員對象也将不存在。通常展現為成員對象在整體類構造方法中被new出來。
用實心菱形+實線表示。
依賴關系
依賴關系,顧名思義,産生了依賴就會出現這個類的改變會帶動另一個類的變化,一般展現在某個類的方法使用另一個類的對象作為參數。
用虛線+箭頭表示。
關聯關系
一種結構化關系,用于表示一類對象和另一類對象有聯系。在java中通常表現為一個類的對象作為一個類的成員變量,即表現在代碼層面,為被關聯類b以類屬性的形式出現在關聯類a中,也可能是關聯類a引用了一個類型為被關聯類b的全局變量。
用實線表示
參考:
《大話設計模式》
<a href="http://blog.csdn.net/lovelion/article/details/7842898">http://blog.csdn.net/lovelion/article/details/7842898</a>
轉載:http://blog.csdn.net/xsf50717/article/details/51133680