UML:Unified Modeling Language 这里因为其中的UML类图和设计模式关系紧密,这里做一个介绍
分类:依赖 Dependence、继承(泛化)、实现、关联 Association、聚合 Aggregation、组合 Composition。
依赖:只要类A中使用到了类B(无论在哪里,成员变量、局部变量,方法返回值等等),那么就可以认为A依赖了B;虚箭头
继承:只要有父子关系,继承是依赖的一种特例。直线+空心三角
实现:只要是接口实现关系,实现也是依赖的一种特例。虚线+空心三角
关联:体现在类与类之间的联系,一般具有导航性。比如老师学生的关系一般体现在代码上B在A类中位成员变量。关联是依赖的一种特例。实箭头
聚合:强调整体与部分的关系,是一种弱拥有生命周期可以不一样,即可以分开,比如城市和高楼的关系。聚合是关联的一种特例。空菱形+实箭头
组合:比聚合一样强调的是部分与整体的关系,但是是强拥有的关系,不可分开,比如动物和心脏,鸟与翅膀的关系,组合是一种关联的特例。实菱形+实箭头