在OO分析时Association & Aggregation & Composition 让人有点分不清楚;但要分清它们也不难:
1. Association A--------->B 协作;(协会)表示A/B类的实例协作完成一个对象的描述;
2. Aggregation A--------<>B 聚合;(集体)表示A/B类的实例组成一个集体;观察角度在于集体;或者集体的主要部分;
3. Composition A-------<#>B 组合;(成员)表示A/B类的实体组成一个集体;观察角度在于个体;表示个体是由集体而生;
所以 协会 ~=~ 集体 = 成员 + 成员;这三种关系不是决对的;在不同的角度观察业务对象;所产生的关系也是不同的。
Association 与 Aggregation 不同之处在于Aggregation比Association表达整体与部局的关系更强列些;
Composition 与 Aggregation 只是观察的角度不同而已;整体与局部的关系;
1. Association A--------->B 协作;(协会)表示A/B类的实例协作完成一个对象的描述;
2. Aggregation A--------<>B 聚合;(集体)表示A/B类的实例组成一个集体;观察角度在于集体;或者集体的主要部分;
3. Composition A-------<#>B 组合;(成员)表示A/B类的实体组成一个集体;观察角度在于个体;表示个体是由集体而生;
所以 协会 ~=~ 集体 = 成员 + 成员;这三种关系不是决对的;在不同的角度观察业务对象;所产生的关系也是不同的。
Association 与 Aggregation 不同之处在于Aggregation比Association表达整体与部局的关系更强列些;
Composition 与 Aggregation 只是观察的角度不同而已;整体与局部的关系;