聚合和组合的不同(Aggregation vs Compostition)

今天看到聚合和组合 不禁想清楚的了解到二者的区别
     聚合关系(Aggregation Relationship):
    聚合关系是一种特殊的关联关系,它表示类间的关系是整体与部分的关系。更简单的书关联关系中一个类描述了一个较大的事物,它由小的事物组成,这种关系就是聚合,它描述了
   
    组合关系:
     聚合表示的是整体与部分之间的关联,组成是更强形式的的关联,整体有管理部分的特有的职责并且他们有一致的生命周期,可以这么说,组成是另一种形态的聚合,他在聚合的基础上添加了更精确的一些语意。也称"contains-a"。

聚合和组合的最大的区别是在组合关联中 部分与整体有着同样的生命周期。
聚合关系中,代表部分事物的可以属于多个聚合对象,可以为多个聚合对象共享,而且可以随时改变它所从属的聚合对象.代表部分事物的对象与代表聚合事物对象的生存期无关,一旦删除了它的一个聚合对象,不一定也就随即删除代表部分事物的对象.在组合关系中,代表整体事物的对象负责创建和删除代表部分事物的对象,代表部分事物只属于一个组合对象.一旦删除了组合对象,也就随即删除了相应的代表部分事物的对象.

你可能感兴趣的:(post)