UML如何描述类之间的关系(二)

作者:Balan

2,聚集关系(Aggregation)

聚集者和被聚集者之间是一种灵活 的平台分享关系。一个类提供平台,把另外一个类集成过来,如下图BankService将其他Services集成进来,统一为客户提供风格一致的服务。我们面对银行的一个普通柜台工作人员,可以存取款项,可以委托理财,可以查询账户余额,可以委托代交电费,还可以挂失或销户,这些服务都是在一个地点由同一个用户服务接口(BankService)完成的。类似的例子还有计算机和外设之间的关系:计算机可以聚集U盘、扫描仪、打印机、手机等硬件,统一为用户提供服务,这种服务大大丰富了计算机本身的功能,也便于用户统一使用。

image  

ATM也是一种BankService实例,我们面对ATM,也可以享受多种自助服务(温馨提示:当然,要冒着被终身监禁的风险,呵呵)。

3, 构成关系(Composition)

构成关系也是一种平台分享关系,但是这种平台是垄断的、强制的。如身体和头之间是一种构成关系,头只能在身体上,离开这个平台,就没有继续存在的机会了。

构成关系有两层含义:1,整体(父元素)和部分(子元素)之间的关系;2,部分(子元素)的生命周期隶属于整体(父元素)的生命周期,父元素消亡,子元素级联消亡。

image

如何区分关联关系、聚集关系和构成关系?

关联关系、聚集关系和构成关系,都属于广义的关联关系,三种关系的在面向对象的编程语言中表现方式是一致的(参考:1,关联关系 关联的实质 )。但是它们的本质区别是存在的:

               实质           元素生命周期                  举例
关联关系   所属关系   彼此独立   用户与订单
聚集关系   灵活平台分享   彼此独立   主板与内存条
构成关系   强制平台分享   “国破家亡”   身体和脑袋;脑袋和耳朵

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值