我试过用plantuml制作组件图。
我想表示两个模块之间的tcp连接,所以我正在学习如何制作组件图。
学习中发现一个链接,不知道是什么意思
(来自PlantUML网站)
上面链接所示的链接类型是否适合表达tcp连接?如果不是,应该用什么类型的链接来表达两个模块之间的tcp连接?
感谢阅读我的问题!
实际上,与流行的看法相反,这张图没有显示any 有效的 UML 语法。
当然,ball and socket 表示法确实存在。球体定义组件实现显示的界面和它使用界面的套接字。但是,将球连接到插座具有 no 定义的含义。
这意味着它们只是彼此靠近放置,因此它们看起来好像它们是一个符号。真的很不幸,一些建模工具实际上会显示这样的符号(请注意,plantUML not 不符合建模工具的资格)。
现在,有些人会告诉你,它是插座和球之间依赖性的简写。规范不支持这一点,但让我们暂时接受这个概念。这是什么意思?由于球是一种实现而套接字是一种用法,因此依赖关系存在于用法和实现之间!规范对此进行了定义:
在 Usage 和 matching 之间创建 wiring Dependency InterfaceRealization,或兼容的简单端口之间,意味着 可能会有一些额外的信息,例如性能 要求、传输绑定或其他确定的策略 接口以适合的方式实现 依赖组件的消耗。
就我而言,我从未为接口实现定义“性能要求或传输绑定”。但如果你有,请继续使用依赖项。
现在,有一个地方,允许使用这个符号:在复合结构图中在简单端口之间。请注意,这不是接口实现或用法,而是连接器具有有趣的形状。
如果部件具有简单的端口(具有单个必需或 提供的接口),那么球窝符号可用于 表示这些端口之间的组件连接器。球窝 符号不能用于连接复杂的(即非简单的)端口 或没有端口的零件。