分析一下UML類圖中關聯、聚合、組合三者的定義與關系。 @author:JZhang 06-11-27 E-mail:zhangjunhd@gmail.com Blog:
http://blog.csdn.net/zhangjunhd/ 1.關聯(Association)類之間的關聯大多用來表示變量實例持有著對其他對象的引用。 Phone擁有一個對Button的引用。 2.聚合(Aggregation)聚合是關聯的一種特殊形式,它意味著一種整體/部分(whole/part)的關系。 一個整體不能是它自己的一部分。 因此 ,實例不能形成聚合回路,一個單獨的對象不能夠成為它自己的聚合,兩個對象不能互相聚合,三個對象不能形成一個聚合環。下圖為實例間的非法聚合循環: 3.組合(Composition)組合是一種特殊的聚合形式。 UML對組合的定義: ①如同聚合,實例不能有循環。 ②一個被所有者實例不能同時有兩個所有者。 ③所有者負責被組合的對象的生命周期的管理。如果所有者被銷毀,被所有者也必須跟著一起被銷毀,如果所有者被復制,被所有者也必須跟著一起被復制。
http://blog.csdn.net/dylgsy/archive/2006/08/16/1076044.aspx UML類圖關系全面剖析
http://www.ibm.com/developerworks/cn/rational/r-shenzj/ 利用Rational Rose進行C++代碼和數據庫結構分析
vs2008 支持 c++ 類圖了