2015-09-12 32 views
0

好吧,我理解組合和聚合。聚合和合成的應用

聚合是可以存在於「父」類之外的任何對象。構圖意味着當父母死亡時,它由死亡組成的物體。

好的,我有一個測試應用程序。類別可以有視頻。一個問題也可以有視頻。一個類別由許多問題組成。我想弄清楚什麼是最好的模式,因爲兩者都可以有視頻,但他們可能不會分享相同的視頻。但在某些情況下,他們可能會。

對於測試用例,除類別或問題對象外,不會監視這些視頻。所以我可以將它們設計成構成視頻成員。我不確定這是否是一個好設計。我可以在Category中編寫它們,但是通過一個方法將它們提供給Question對象。在這種情況下,Question將會是Video成員變量的一個兄弟,並且會簡單地使用它。這將是一個聚合。但是,所有視頻都不是類別視頻,所有視頻都不是問題視頻。有時候他們可以兼得。

通過分類視頻,我的意思是用戶在參加測試之前觀看視頻。因此,這些視頻屬於類別級別,但不是問題級別。

問題視頻是人們觀看並回答問題的視頻。在這種情況下,視頻更像是一個你看到的數字,並儘可能回答你的問題。

在某些情況下,它們可以是兩者。

有沒有更好的方法來設計這個?傳遞視頻看起來像很多耦合,可能並非必要。

謝謝!

回答

0

您可以創建可存儲視頻ID,Associaton類型=類別/問題/兩者AssociateIds(名單)

在這種情況下,關聯類,你並不需要使用聚合或組合。