我有一些内部的私人类,我不确定把它们放在我的班级图表中。 他们应该在他们的外部班级还是在自己的班级?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