??研究軟件設(shè)計模式時,畫UML類圖必不可少,UML類圖工具 我推薦Enterprise Architect , 正好我的百度網(wǎng)盤有個中文破解版,
鏈接 https://pan.baidu.com/s/1bkuDl0BPh8HT2TxbDXP-YQ,
提取碼:0dfn。
??關(guān)于畫UML圖的詳情,推薦這篇博客:https://www.cnblogs.com/pangjianxin/p/7877868.html
??在類圖關(guān)系中一共存在6種關(guān)系,類的關(guān)系有泛化(Generalization)、實現(xiàn)(Realization)、依賴(Dependency)和關(guān)聯(lián)(Association),聚合關(guān)系(Aggregation),組合關(guān)系(Composition).

Class Model.png
如上圖就包含了這6中關(guān)系,畫的比較簡單。
- 泛化(Generalization):實際上指的就是繼承關(guān)系.
- 實現(xiàn)(Realization):接口的實現(xiàn)關(guān)系.
- 組合關(guān)系(Composition):就像鳥的翅膀組合成了鳥一樣,一般也是以成員變量的形式體現(xiàn)。
- 聚合關(guān)系(Aggregation):如同企鵝組成了企鵝群,一般也是以成員變量的形式體現(xiàn)。
- 關(guān)聯(lián)(Association):類與類之間的連接,在Java語言中,關(guān)聯(lián)關(guān)系一般使用成員變量來實現(xiàn)。
- 依賴(Dependency):例如 一個人(Person)可以買車(car)和房子(House).一般而言,依賴關(guān)系在Java語言中體現(xiàn)為局域變量、方法的形參,或者對靜態(tài)方法的調(diào)用。
??上述6種關(guān)系的耦合強度,泛化 == 實現(xiàn) > 組合 > 聚合 > 關(guān)聯(lián) > 依賴.