设计模式-UML类与类之间的关系
依赖关系
关联关系
泛化关系
实现关系
参考资料
最近在重拾设计模式,就找来大学时看的秦小波的《设计模式之禅》重新看一遍,设计模式自然少不了UML类图,可是好久不看设计模式,UML类图有点看不懂了,这里先把UML类图重拾一下,参考《UML2面向对象分析与设计》一书和网上的文章,只保留最精简的部分进行说明,其实只记住下边的一幅图就行了。
来,上图
依赖关系
依赖关系是一种使用关系,指的是A的改变可能影响到使用A的B,通常体现在A作为B的成员方法的参数,从B指向A。
例如:司机开车,然后司机开车的动作(方法)需要传入汽车对象。
关联关系
关联关系表示一个类和另一个类之间有关系,通常关联关系是一个类的对象作为另一个类的成员,从类指向类成员的类,例如汽车和轮胎,则由汽车类指向轮胎类。
聚合关系和组合关系也属于关联关系,更加侧重整体/部分关系的描述。
聚合关系指的是成员对象可以脱离整体对象独立存在,例如汽车和轮胎,轮胎可以独立于汽车存在。
组合关系中整体对象可以控制成员对象的生命周期,成员对象不可以脱离整体对象独立存在,例如:身体和头,头不可能独立于身体存在(你要是非得抬杠说,可以独立存在,我也没办法,不过场面有点血腥,不敢看)。
泛化关系
泛化关系就是我们平常说的继承,子类继承父类,从子类指向父类。
实现关系
实现关系就是我们平常说的实现某个接口,从实现类指向接口
参考资料
http://www.uml.org.cn/oobject/201211231.asp
《UML2面向对象分析与设计》