UML(Unified leModeling Language)

  • 类图


  • 类之间的关系(依赖、关联和泛化)
依赖关系(Dependency)

一个类使用了其他类


关联关系(Association)

“持久”业务关系


聚合(Aggregation)

关联关系的一种 “has-a”


组合(Composite)

关联关系的一种 “contains-a”


继承/泛化(Generalization)


实现(Realization)关系


  • 各种关系的强弱顺序

泛化=实现>组合>聚合>关联>依赖

  • 综合比较

1.聚合与组合

1)聚合与组合都是一种结合关系,只是额外具有整体-部分的意涵。

2)部件的生命周期不同

聚合关系中,整件不会拥有部件的生命周期,所以整件删除时,部件不会被删除。再者,多个整件可以共享同一个部件。

组合关系中,整件拥有部件的生命周期,所以整件删除时,部件一定会跟着删除。而且,多个整件不可以同时间共享同一个部件。

3)聚合关系是"has-a"关系,组合关系是"contains-a"关系。

2.关联和聚合

1)表现在代码层面,和关联关系是一致的,只能从语义级别来区分。

2)关联和聚合的区别主要在语义上,关联的两个对象之间一般是平等的,例如你是我的朋友,聚合则一般不是平等的。

3)关联是一种结构化的关系,指一种对象和另一种对象有联系。

4)关联和聚合是视问题域而定的,例如在关心汽车的领域里,轮胎是一定要组合在汽车类中的,因为它离开了汽车就没有意义了。但是在卖轮胎的店铺业务里,就算轮胎离开了汽车,它也是有意义的,这就可以用聚合了。

3.关联和依赖

1)关联关系中,体现的是两个类、或者类与接口之间语义级别的一种强依赖关系,比如我和我的朋友;这种关系比依赖更强、不存在依赖关系的偶然性、关系也不是临时性的,一般是长期性的,而且双方的关系一般是平等的。

2)依赖关系中,可以简单的理解,就是一个类A使用到了另一个类B,而这种使用关系是具有偶然性的、临时性的、非常弱的,但是B类的变化会影响到A


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值