UML-组合

来源:互联网 发布:阿里云国际版注册地址 编辑:程序博客网 时间:2024/06/10 16:04

组合优于聚合

聚合UML模糊,其不精确的暗示了整体-部分的关系(和许多普通关联一样)。
可以参考Rumbaugh(UML的创建者之一)的话:

并给赋予太多的,但是每个人(基于不同理由)都认为这是必要的。[RJB04]

因此,不要在UML中费心使用聚合,相反,在适当的时候要使用组合

组合,是一种很强的整体-部分聚合关系

  1. 某一时刻,部分的实例只属于一个组成实例
  2. 部分(Fingers)必须总是属于组成(Hand)(不存在随意游离的部分Finger)
  3. 组成要负责创建和删除部分。

如果组成被销毁,其部分也必须被销毁,或者依附于其它组成,即不允许游离的部分存在!

在UML中,带有实心箭头的关联来表示组合,箭头指向组成类。

composition

组合的典型代码如下:

public class Hand{      Finger f = new Finger();      .......  }
0 0
原创粉丝点击