2009-11-11 33 views
1

在CRC卡片中,我們爲什麼要列出所有的協作者,而不僅僅是依賴關係。 我的意思是如果A類調用B的函數,爲什麼A在B類的CRC協作者部分提到。如果我們簡單地將A留在B的CRC卡中,就好像A的CRC卡B已經提到過那樣。這樣我們也可以從CRC卡中找出依賴關係,如果您知道A需要的B類的功能名稱,我們也可以在A的CRC卡中提到。這將通過快速生成類和序列圖來幫助更多。 通過提及A合作者中的B和B合作者中的A實現了哪些特定功能?爲什麼我們列出CRC卡中的合作者?

回答

1

因爲你不想陷入合作將如何發生的細節。可能是A向B發出呼叫,但也可能是A在B發送的消息總線上發佈了一個事件,或者B可能將一個回叫對象傳遞給A,以便A傳遞其消息。將它們列爲雙方的協作者可避免必須制定出實際的協作方式。