uml中的关联、依赖如何区分?

先看教科书的:

依赖 (Dependency):元素A的变化会影响元素B,但反之不成立,那么B和A的关系是依赖关系,B依赖A;类属关系和实现关系在语义上讲也是依赖关 系,但由于其有更特殊的用途,所以被单独描述。uml中用带箭头的虚线表示Dependency关系,箭头指向被依赖元素。 

关联(Association):元素间的结构化关系,是一种弱关系,被关联的元素间通常可以被独立的考虑。uml中用实线表示Association关系,箭头指向被依赖元素。

能看明白吗?我是比较晕。还是结合代码好理解一点 :

依赖:只要A类用到B类,比如A类有个方法的参数或者方法中定义了B类变量(局部作用域),但是和另一个类的关系不是太明显的时候(可以说是“uses”了那个类),就可以把这种关系看成是依赖,依赖也可说是一种偶然的关系,而不是必然的关系。

关联:A类中定义了B类的成员变量(实例作用域)。可以看出来,关联是更强的依赖。

如果还不清楚,举个生活中的例子:

依赖:自行车和打气筒。自行车打气需要找个打气筒来实现(如果你用那种袖珍气筒随时别在自行车上的话,就是关联了)。

关联:自行车和锁。可以配一把或多把

感觉还是通过代码好理解,不过应该在分析阶段就要描述清楚这些关系

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值