先看教科书的:
依赖 (Dependency):元素A的变化会影响元素B,但反之不成立,那么B和A的关系是依赖关系,B依赖A;类属关系和实现关系在语义上讲也是依赖关 系,但由于其有更特殊的用途,所以被单独描述。uml中用带箭头的虚线表示Dependency关系,箭头指向被依赖元素。
关联(Association):元素间的结构化关系,是一种弱关系,被关联的元素间通常可以被独立的考虑。uml中用实线表示Association关系,箭头指向被依赖元素。
能看明白吗?我是比较晕。还是结合代码好理解一点 :
依赖:只要A类用到B类,比如A类有个方法的参数或者方法中定义了B类变量(局部作用域),但是和另一个类的关系不是太明显的时候(可以说是“uses”了那个类),就可以把这种关系看成是依赖,依赖也可说是一种偶然的关系,而不是必然的关系。
关联:A类中定义了B类的成员变量(实例作用域)。可以看出来,关联是更强的依赖。
如果还不清楚,举个生活中的例子:
依赖:自行车和打气筒。自行车打气需要找个打气筒来实现(如果你用那种袖珍气筒随时别在自行车上的话,就是关联了)。
关联:自行车和锁。可以配一把或多把
感觉还是通过代码好理解,不过应该在分析阶段就要描述清楚这些关系