简单介绍
为什么先讲组件图,是因为我是由于需要画组件图所以才去找的这个工具。组件图实质就是将一个大系统,拆分为若干功能相对独立,互相之间存在关联依赖关系的组件集合。然后由一张图列出所有组件及它们之间的关联关系。这样我们就可以很直观地初步了解这个大系统的整体情况。
组件可以是一个jar包,可以是一个业务逻辑上功能相对独立的类,也可以是一个完整的子系统或者外部服务等。组件的概念比较松散。
同样以上一篇文章(《捣鼓PlantUML(一、环境)》)中的图作为示范:
这篇文章将参考plantUML官方文档PlantUML_Language_Reference_Guide
对组件的画法做一个梳理。(注:画上面这个组件图时,我还没看文档哈!)
组件
组件是被中括号[]
扩起来的,除此之外,也可以使用component
关键字来定义一个组件。每个组件定义之后,都可以通过as
关键字来为这个组件定义一个别名。在后面讲关系映射的时候会用到。
@startuml
[第一个组件]
[第二个组件] as com2
component 组件三
component [最后一个组件] as com4
@enduml
画出的UML图如下:
接口
接口一般是通过括号来定义()
(因为它看起来像是一个圆^_^)。除此以外,还可以通过关键字interface
来定义。在接口定义好之后,可以通过as
关键字来为这个组件定义一个别名。在后面讲关系映射的时候会用到。(注:另外,不用括号,直接写接口名称,也可以直接生成接口。)
@startuml
() "第一个接口"
() "second interface" as inter2
interface inter3
interface lastInterface as inter4
@enduml
画出的UML图如下:
基本关系示例
组件与组件、组件与接口之间的关系,通过两点..
或者两短线--
和尖括号表达>(-->)
的组合来表达。
@startuml
() "数据访问接口" - [第一个组件]
[第一个组件] ..> () "HTTP" : use
@enduml
由于接口定义的括号可以省略,因此也可以写为:
@