??研究軟件設(shè)計(jì)模式時(shí),畫UML類圖必不可少,UML類圖工具 我推薦Enterprise Architect , 正好我的百度網(wǎng)盤有個(gè)中文破解版,
鏈接 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)、實(shí)現(xiàn)(Realization)、依賴(Dependency)和關(guān)聯(lián)(Association),聚合關(guān)系(Aggregation),組合關(guān)系(Composition).
Class Model.png
如上圖就包含了這6中關(guān)系,畫的比較簡(jiǎn)單。
- 泛化(Generalization):實(shí)際上指的就是繼承關(guān)系.
- 實(shí)現(xiàn)(Realization):接口的實(shí)現(xiàn)關(guān)系.
- 組合關(guān)系(Composition):就像鳥的翅膀組合成了鳥一樣,一般也是以成員變量的形式體現(xiàn)。
- 聚合關(guān)系(Aggregation):如同企鵝組成了企鵝群,一般也是以成員變量的形式體現(xiàn)。
- 關(guān)聯(lián)(Association):類與類之間的連接,在Java語(yǔ)言中,關(guān)聯(lián)關(guān)系一般使用成員變量來(lái)實(shí)現(xiàn)。
- 依賴(Dependency):例如 一個(gè)人(Person)可以買車(car)和房子(House).一般而言,依賴關(guān)系在Java語(yǔ)言中體現(xiàn)為局域變量、方法的形參,或者對(duì)靜態(tài)方法的調(diào)用。
??上述6種關(guān)系的耦合強(qiáng)度,泛化 == 實(shí)現(xiàn) > 組合 > 聚合 > 關(guān)聯(lián) > 依賴.