最近在trace很大量的source code 所以開始認真想要畫一些圖記錄
以免會忘記....... 所以得學一些UML的基本概念...
一直來搞混的Aggregation跟Composition 今天終於查了google搞清楚了....
最清楚的說明 可以看這裡
結論就是....Aggregation跟Composition 都是一種Association, 一種owner ship的概念
只是Composition是更強烈的Ownership 主要是生命週期是一起的..... 而Aggregation就不是
for example
public class classA --> Composition
{
classB B = new ClassB()
~classA()
{
delete B;
}
}
public class classA -->Aggregation
{
classB *m_pB;
void SetB(classB *pB)
{
m_pB = pB; // lifecycle is not the same with parent!!
}
}
沒有留言:
張貼留言