看懂UML类图是学习设计模式的基础,同时也是工作中必须掌握的一门技能,也是以后自己做设计的工具,下面我根据一些资料介绍一些类图基本表现方式。
1.类的表示
实现类图:类名是一般的字体
抽象类图:类名是斜体显示
接口图:类名的顶端有<<interface>>修饰 或者 类图头上有一个棒棒糖类似的图表示
2.方法的表示
‘+’表示公共的public
'-'表示私有的private
‘#’表示受保护的protected
4.类与类之间的关系
a.继承(泛化)关系:空心三角形+实线表示
b.实现关系:空心三角形+虚线表示
c.关联关系(表现在类属性上)【用实线箭头来表示】
一个类需要知道(了解)另外一个类,有单向关联、多向关联、自关联
例如:人和天气、企鹅和气候
d.聚合关系(表现在类属性是数组)【用空心的菱形+实线箭头表示】
一个类拥有另外一个类,弱拥有,体现是A对象可以包含B对象,但是B对象不是A对象的一部分
例如:雁群包含大雁
e.合成关系、组合关系(表现在同时实例化)【用实心的菱形+实线箭头表示】
部分和整体的生命周期一样
例如:车子和轮胎、鸟和翅膀、狗和尾巴
f.依赖关系(表现在局部变量、方法参数、静态方法的调用)【用虚线箭头表示】
一个类依赖于另外一个类
例如:人和水、人和氧气
5.类之间关系的强度
继承、实现 > 合成(组合)> 聚合 > 关联 > 依赖
推荐一个很好的设计模式文档:https://design-patterns.readthedocs.io/zh_CN/latest/creational_patterns/simple_factory.html