UML补充学习(关联、依赖、聚合、组合、泛化)

有幸看到一篇不错的文章,出自http://student.csdn.net/space.php?uid=1394199&do=blog&id=51397&page=2#content

由于作者不允许转载,因此仅附上链接并摘取了其中部分重点内容支持原创,坚持学习。

1、关联(Association)。指类之间的引用关系。是实体域对象之间最普遍使用最广泛的一种关系,分为一对一,一对多,多对多。代码中如何体现?在类A中,引入类B的对象作为A类的一个属性。这样就建立了一对一或一对多关联。

2、依赖指类之间的访问关系。A类中访问了B类的方法属性,或者A类负责实例化B类,则可以说A类依赖于B类

3、聚合。强调整体和部分的关系,也就是has-a的关系,整体和部分是可以分离的,有各自的生命周期(是一种比较弱的联系)。

4、组合。也就整体和部分的关系,但是两种不可分割的,任何一个生命周期结束则另一个也结束(是一种强联系)。

5、泛化(Generalization)。在面向对象里面叫做"继承"关系。两种是派生关系,也可以说是父子关系,或者称为"is-a"。

补充:
其实,依赖关系和关联关系有点像,比较难分开。我认为,关联关系比较弱,仅限于对象属性的操作(get,set)。依赖关系较强,比如方法调用(如果没有这个方法,无法完成某项活动)
附上另一篇:http://www.blogjava.net/hongzionline/archive/2007/09/27/148685.html

相关文章

迭代器模式(Iterator)迭代器模式(Iterator)[Cursor]意图...
高性能IO模型浅析服务器端编程经常需要构造高性能的IO模型,...
策略模式(Strategy)策略模式(Strategy)[Policy]意图:定...
访问者模式(Visitor)访问者模式(Visitor)意图:表示一个...
命令模式(Command)命令模式(Command)[Action/Transactio...
生成器模式(Builder)生成器模式(Builder)意图:将一个对...