我正在开发由17个类组成的Java gui应用程序,并且我在几乎所有类中都使用了Java swing组件.我还使用外部库中的新组件.

我的问题是:是否有必要将所有swing类包括在URL图中?或者我可以只使用int、字符串等方法和变量 for each 类绘制类图吗?

我在网上搜索了一下,但回复各不相同.一些来源建议包括所有使用过的类,而另一些来源则主张只关注描述自定义类之间的关系.

推荐答案

总之

良好的URL实践是拥有较小的图表,每个图表都有明确的焦点.

拥有一个包含所有可能类(包括库组件)的类图的 idea 是对建模的一个根本误解,由于复杂性,导致除了作者之外没有人能理解的图.

通常,做法是使用URL中的语言配置文件,定义公共语言特定类型(然后您可以将其用于属性),并仅显示实例中真正需要的库类.

更多细节

URL规范表明这是not opinion based:关于图表的附件A清楚地表明图表不必显示一切:

相应的URL图是URL模型的图形表示of parts.

在其他多个地方,URL规范表明符号中缺乏某些元素并不意味着模型中缺乏该元素.

ML规范对于如何 Select 显示或不显示的元素是不可知的. 幸运的是,统一建模语言的发明者Grady Booch、James Rumbaugh和Ivar Jacobson在"The UML User Guide"(第113页)中提供了一些指导:

struct 良好的类图专注于传达系统静态视图的一个方面,仅提供理解该方面所必需的元素,.

并且:

... 提供与其抽象水平一致的细节,并且仅提供对理解至关重要的装饰品,.

Java相关问答推荐

如何让HikariCP指标在NewRelic中正确显示?

将偶数元素移动到数组的前面,同时保持相对顺序

BiPredicate和如何使用它

查找最大子数组的和

无法找到符号错误—Java—封装

JUnit—如何模拟局部变量对象方法调用

嵌入式ActiveMQ Artemis Web控制台加载错误

如何确定springboot在将json字段转换为Dto时如何处理它?

使用GridBagLayout正确渲染

为什么S的文档中说常量方法句柄不能在类的常量池中表示?

按属性值从流中筛选出重复项

如何在EXCEL单元格中添加形状和文本

使用用户引入的参数生成人员数组

如何在构建Gradle项目时排除com.google.guava依赖项的一个变体

如何在JavaFX循环中完美地制作一个AudioClip/MediaPlayer?

如何在我的世界中为互动增加冷却时间?

带有可选部分的Java DateTimeForMatter

如何在IntelliJ IDEA的Build.sbt中添加外部JAR文件?

在Oracle中调用输出参数在索引处缺少IN或OUT参数的函数

持续时间--为什么在秒为负数的情况下还要做额外的工作?