我有一些內部的私人類,我不確定把它們放在我的班級圖表中。 他們應該在他們的外部班級還是在自己的班級?Private classes and uml
5
A
回答
1
UML用於設計或描述複雜的體系結構。我不認爲內部類在UML類圖中提及它很重要。如果你在界面級別上設計你的系統,那麼你的實現以及私有類就會失去焦點,以及所有私有方法。你的圖應該只包含公共方法=接口方法。
2
您可以用containment
外部表示它們,在外部類的一側有+
標誌。你可以找到它here。
0
我不認爲你可以在UML類圖的另一個類中有一個類。你在UML中呈現它們的方式應該反映它們與父類的結構關係。如果它們是爲了方便而創建的,則可以將它們連接起來。如果它們具有遏制或聚合關係,則UML具有適當的語法。在任何情況下,內部類都是特定於語言的,所以UML對它們有任何明確的支持是很奇怪的(事實上是一種錯誤的設計)。
可能相關的外部討論:http://www.coderanch.com/t/99318/patterns/Inner-Class-UML
2
總是有UML語言,無論你使用建模工具之間的差異,所以這是完成一件事情的最好方法取決於工具。
在UML中,類與類成員一樣具有可見性/範圍。換句話說,UML允許私有類,但這並不意味着你的工具可以顯示類的「私密性」。
UML還允許類包含其他類。換句話說,班級可以充當包裹。再次,工具如何顯示這個變化。
從純粹的UML角度來看,我建議讓內部類包含在外部,並標記爲私有。
在圖中,如果您的工具沒有顯示名稱空間,那麼可以調整外部類的大小並將其放在內部。如果你的工具允許調整大小,那就是。最後,除非總共只有八個或十個類,否則我會建議在單獨的圖中顯示內部類。
0
相關問題
- 1. CQRS Commands and Events as generic classes?
- 2. Dim and Private的區別
- 3. iPhone SDK @package vs. @private vs @public and struct
- 4. Private Private
- 5. Omnigraffle Classes Diagram to code
- 6. JavaScript「classes」
- 7. object-private Vs class-private
- 8. 如何重新創建'Overlay and Shadow Classes'的jQueryUI演示
- 9. parcelable classes app crashing
- 10. C#Array of Classes
- 11. C++ FSTREAM&classes
- 12. Javascript「classes」(no frameworks)
- 13. 爲什麼<exclude-unlisted-classes> false</ exclude-unlisted-classes>失效?
- 14. SDL with classes
- 15. Thymeleaf classappend for multiple classes
- 16. private dispatchTouchEvent?
- 17. private [context]
- 18. Python,Lists + Dictionaries,Classes?
- 19. Coffeescript,Classes&Zepto.js
- 20. Sortore Ecore classes topology
- 21. UnitTesting Static Classes
- 22. Desiging Proper Classes
- 23. import native C++ classes
- 24. sortedArrayUsingSelector on custom Classes?
- 25. Fantasy Football - Implementing Classes Trouble
- 26. Public vs Private
- 27. private static final String or private final String
- 28. Swift - private var/func vs private final var/func
- 29. Private Dim和Private Property有什麼區別?
- 30. 之間private和protected