在一本書(UML和模式應用),我正在看,下面有一些事實來決定,如果一個對象是另一個B對象的創建者(GRASP造物主模式):GRASP造物主模式標準
- 乙聚集對象A
- B包含對象A的
- 乙記錄實例對象
- 乙緊密使用一個對象。
我不清楚「聚合」,「包含」,「記錄」和「密切使用」的區別。
任何人都可以用一些例子解釋上述標準嗎?
在一本書(UML和模式應用),我正在看,下面有一些事實來決定,如果一個對象是另一個B對象的創建者(GRASP造物主模式):GRASP造物主模式標準
我不清楚「聚合」,「包含」,「記錄」和「密切使用」的區別。
任何人都可以用一些例子解釋上述標準嗎?
下面是書中的Larman與自己給出一些例子:
你忽略了一個標準,我給它的一個例子:
enterItem(itemID : ItemID, quantity : integer)
系統操作時,ProcessSaleHandler 對於SalesLineItem具有初始化數據。是的,這些術語有些含糊不清。
其中大多數定義了現實世界的關係。例如,當我們與某人談話時,我們沒有任何問題,並說「某些東西含有某些東西」。
但是在這種情況下,最好有一些具有正式定義的類比。
1)「總計」。這很簡單。該術語對應於UML中的「聚集」關係
2)「包含」。根據作者的書,我們有以下例子:「壟斷委員會包含廣場」。事實上,這種關係對應於「構圖」。 因此,我們可以得出結論,這種關係對應於UML中的「構成」關係。
3)「記錄」。這是最「奇怪的」關係。但是,讓我們再看看他的書。我們可以看到,這種關係出現在「註冊」類的上下文中。這對於他的註冊來說是一項特殊的工作,並且對一些常見的事情沒有任何幫助但我們可以概括這一點,並得出結論,註冊類使用「支付」和「銷售」之間的「關聯」。 因此,我們可以得出結論:「記錄」對應於「UML」中的「關聯」。
4)「密切使用」。這也很簡單。該術語對應於UML中的「依賴關係」,其標記爲< <用途>>