0 0

UML中的依赖关系5

我是小白,刚学设计模式,被一些概念性问题困住了

UML中的依赖关系说是如果有其中一个类变化,有可能会引起另一个类的变化

这个变化我就不明白了,是类的设计(比如增加属性,修改方法)变化呢,还是类的对象变化啊?
2013年12月06日 18:30

3个答案 按时间排序 按投票排序

0 0

采纳的答案

很久没看资料了。

印象中,UML的类的关系有3种:

1、继承、实现关系; 这个不用多说了
  (UML图中的空心、或实心三角形)
  (Java代码中的extends、implements)

2、组合、聚合关系;
   某个对象是另一个对象的一部分。
   如果容器对象 对子对象的生命周期负责,那么是 强的聚合关系,这个好像就是“组合”。(UML图中的实心菱形)(Java代码中,表现为类的字段)
   如果子对象具有独立的生命周期,并不随着容器的创建而创建、随容器的销毁而销毁,那么容器和子对象之间的关系,这个就是“聚合”(UML图中的空心菱形)
  (Java代码中,表现为类的字段)

   除此以外,还有一种更弱的聚合关系,(在UML图中是 直线---关系是双向的、或者是带箭头的直线---关系是单向的。)
   (Java代码中,也表现为类的字段)

   组合/聚合(以及上面更弱的聚合)更多是一种语义上的描述,在代码中无法体现出差别。

3、依赖关系;
   对象A使用对象B的功能来完成自身的职责。
   (UML图中的虚线箭头)
   (Java代码中的方法参数、或者方法局部变量--对象引用)
  

--------------
依赖、和组合/聚合 的区别:
   依赖更多描述行为;
   组合/聚合描述结构;但结构上的关系必然也会产生行为上的依赖。

2013年12月07日 11:20
0 0

参数值的变化就可能影响方法逻辑的执行,而类的属性则一般是关联。书中讲得比较概念化、理论化。还是结合具体实际看看。

2013年12月07日 11:11
0 0

依赖一般表示为类方法的参数

2013年12月07日 11:09

相关推荐

Global site tag (gtag.js) - Google Analytics