研究软件设计模式时,画UML类图必不可少,UML类图工具 我推荐Enterprise Architect , 正好我的百度网盘有个中文破解版,
链接 https://pan.baidu.com/s/1bkuDl0BPh8HT2TxbDXP-YQ,
提取码:0dfn。
关于画UML图的详情,推荐这篇博客:https://www.cnblogs.com/pangjianxin/p/7877868.html
在类图关系中一共存在6种关系,类的关系有泛化(Generalization)、实现(Realization)、依赖(Dependency)和关联(Association),聚合关系(Aggregation),组合关系(Composition).
如上图就包含了这6中关系,画的比较简单。
- 泛化(Generalization):实际上指的就是继承关系.
- 实现(Realization):接口的实现关系.
- 组合关系(Composition):就像鸟的翅膀组合成了鸟一样,一般也是以成员变量的形式体现。
- 聚合关系(Aggregation):如同企鹅组成了企鹅群,一般也是以成员变量的形式体现。
- 关联(Association):类与类之间的连接,在Java语言中,关联关系一般使用成员变量来实现。
- 依赖(Dependency):例如 一个人(Person)可以买车(car)和房子(House).一般而言,依赖关系在Java语言中体现为局域变量、方法的形参,或者对静态方法的调用。
上述6种关系的耦合强度,泛化 == 实现 > 组合 > 聚合 > 关联 > 依赖.