回答
您可以將其視爲原生數據類型。大多數時候沒有理由做其他事情。
這裏沒有「正確」或「錯誤」。唯一的問題是什麼讓這個架構更容易被團隊理解。
我完全同意。像UML這樣的標準試圖定義一套標準規則,使其更容易解釋架構(作爲一種良好實踐或常識的集合)。但最終,你的團隊必須理解它,如果需要偏離標準來使其更清晰,則不需要遵守標準。 (我剛剛意識到:如果我們都會堅持計算機歷史上的標準,那麼我們仍然會使用Cobol)。 – Patrick 2010-09-10 06:51:29
取決於你想要的模型和方式。我有很多次只是仿照包含地圖的地圖存儲的元素之類的成分/聚合關係,並添加到關係的屬性:
class MyEnclosingType {
std::map<int,MyEnclosedType*> m_map;
};
MyEnclosingType <>-------------------------- MyEnclosedType
<<map>>
根據您正在使用,一些不承認它的工具。例如BoUML,IIRC,會自動繪製與此類似:
MyEnclosingType <>-------------------------- MyEnclosedType
^
|
| << bind Key=int >>
|
map
我不認爲這是完全一樣的,但不知何故相似。最後,UML是人們閱讀的工具,而不是電腦。如果你確實相信代碼生成(好運),那麼問題是你需要用什麼奇怪的構造來爲你的軟件理解你的意圖。
的一些其他工具將有STL或允許您添加參數化類型,你可以用它來表示同一代碼:
Key=string
Value=MyEnclosedType
MyEnclosingType <>-------------------------- map
如果雙方MyEnclosingType
和map
將通過實線框包圍,並Key
和Value
將由與其他參數化類型重疊的不連續框來表示map
框。
我會嘗試使用您選擇的工具反向設計帶有地圖的簡單代碼示例,並查看該工具爲您生成的內容。如果你不喜歡它,只要想一想你可以做些什麼來真正提供問題的洞察力,以及你可以使用的工具。
- 1. 如何在UML類圖中表示lambdas?
- 2. 如何表示回調在UML類圖
- 3. 如何顯示在UML ER圖表
- 4. 如何在UML類圖中表示報表
- 5. 如何從表中生成UML圖表
- 6. 在UML類圖中表示swing組件
- 7. 在UML通信圖中表示循環
- 8. 顯示地圖STL
- 9. 如何在UML序列圖中表示中斷?
- 10. 如何在UML類圖中表示模式的實現?
- 11. 如何在UML類圖的方法聲明中表示異常?
- 12. 如何在UML活動圖中表示一個案例陳述?
- 13. 如何在uml序列圖中表示「子序列」?
- 14. 如何在UML活動圖中表示編譯時條件?
- 15. 如何最好地在UML類圖中表示c#.net事件構造?
- 16. 如何在UML圖中顯示此類?
- 17. UML圖表選擇
- 18. c#的UML圖表列表#
- 19. 如何在UML中表示Python字典?
- 20. 如何用JSON表示地圖列表
- 21. 我們如何在UML圖表中表達概念?
- 22. 以表格形式打印STL地圖
- 23. 指針與STL地圖和列表
- 24. 在UML對象圖中如何通過列表/集合表示關係?
- 25. UML建模 - 如何在類圖上表示多路繼承?
- 26. UML序列圖內部類表示
- 27. UML用例圖系統表示
- 28. UML - 如何管理大類圖表?
- 29. 您如何在Haskell中表示圖表?
- 30. 如何在UML類圖中描述包含的地圖?
已經在這裏提出並回答:http://stackoverflow.com/questions/1192606/how-to-describe-a-contained-map-in-uml-class-diagram/9510155#9510155 – 2012-03-09 23:59:06