interface - 如何在 UML 中显示接口和类之间的关系?
问题描述
我有一些我想在 UML 中表示的相关接口和类(对不起关系,我不知道如何用 StarUML 正确地做到这一点):
接口 ISMS 实现 IMessage 和 IStorable 的想法,而不是直接让 SMS 类自己实现这两个接口,旨在使项目更加模块化、可维护和更易于测试。
这是设计的好方法吗?如果是这样,这是在 UML 类图中表示它们的好方法,还是有更好的方法来表示接口及其与 UML 中其他接口/类的关系?
解决方案
这是设计的好方法吗?
我认为是的,也是因为如果添加 MMS,它也可以实现 ISMS(可能重命名该接口)。
对于IEmail,除了简化电子邮件 和其他使用接口的类以具有一个接口而不是两个
我很确定克里斯托夫会对此说更多:-)
这是在 UML 类图中表示它们的好方法,还是有更好的方法来表示接口及其与 UML 中其他接口/类的关系?
表示类实现接口的关系是实现(用虚线绘制),您使用了泛化,因此还要添加MMS:
... ISMS 实现 IMessage 和 IStorable
警告这不是一个实现,因为ISMS是一个接口,对于IEmail 也是如此,这就是为什么接口之间的继承是由泛化而不是实现来支持的。
推荐阅读
- bash - bash 从另一个脚本运行 curl
- flutter - 如何将 qrcode 导出为带有颤振的图像 png
- javascript - 如何从 HTML 中调用 javascript 对象方法
- css - 当它进入新行时,如何在整个屏幕宽度上拉伸最后一个网格项目?
- unity3d - Unity UI 屏幕尺寸问题
- android - 更新 Android Studio 停止颤振框架
- django - 我在我的谷歌驱动器中搜索了我的媒体文件。我可以在 Django 中获取我的媒体文件吗?
- python - 带有 XML 列和多个值的 Pyspark 数据框:从中提取列
- python - 如何使用 python scrapy xpath 访问 < script type = "text/x-magento-init" > 标签?
- javascript - Nodejs GPU.js 使用 GPU 比使用 CPU 慢