UML关系
学习UML关系始于类图设计,时间都过去两三年了,这篇文章,曾对我的入门有过很大帮助。别人的毕竟不如自己写写更清楚,今天得空,整理如下。 重点对关联关系和依赖关系进行了描述。
关联和依赖
[#部分引用自他文#]关联是类之间的一种关系,例如老师教学生,老公和老婆,水壶装水等就是一种关系。这种关系是非常明显的,在问题领域中通过分析直接就能得出。关联没有生命周期的依赖。
依赖是一种弱关联,只要一个类用到另一个类,但是和另一个类的关系不是太明显的时候(可以说是“uses”了那个类),就可以把这种关系看成是依赖,依赖也可说是一种偶然的关系,而不是必然的关系,就是“我在某个方法中偶然用到了它,但在现实中我和它并没多大关系”。例如我和锤子,我和锤子本来是没关系的,但在有一次要钉钉子的时候,我用到了它,这就是一种依赖,依赖锤子完成钉钉子这件事情。
另外,依赖虽然被描述为是一种弱相关关系,但是从类之间的耦合强度来描述的话,A—>B,AB间的耦合度是很强的,而且通常比关联关系的AB类之间的耦合性更强。
<来自软设教程> 依赖是两个事物之间的语义关系,其中一个事物发生变化会影响到另一个事物的语义。关联是描述一组对象之间连接的结构关系。说实话,没怎么很理解。
GOF类图
近来对GOF设计模式进行了重新拜读,让我们从部分标准模式的的类结构图中来进一步探究下UML关系。
依赖关系
下图是GOF工厂方法模式、抽象工厂模式的类结构图,先来看看其中的依赖关系
基本总结
相信很多人会有这样的疑问,类关系的代码表现形式是固定的吗? 跟引用和实际对象是否有关系?探究了很久,我也不敢下结论,只能说通常是那个样子的!
一篇不错的文章
https://www.jianshu.com/p/f35fab1640c6