PlantUML 具体操作

一。类符号表示

  • 类成员的可见性  
‌公有成员‌:使用“+”符号表示,例如 +属性名:类型 或 +方法名():返回类型‌
‌私有成员‌:使用“-”符号表示,例如 -属性名:类型 或 -方法名():返回类型‌
‌受保护成员‌:使用“#”符号表示,例如 #方法名():返回类型‌
‌包内可见成员‌:使用“~”符号表示,例如 \~方法名(param:类型):返回类型‌
  • 类与类之间的关系 
    ‌类与类之间的关系表示方法‌:
    ‌继承关系‌:使用“--|--”表示,例如 父类<|--子类‌
    ‌实现关系‌:使用“..|..”表示,例如 接口<|..实现类‌
    ‌聚合关系‌:使用“o--”表示,例如 类A o-- 类C‌
    ‌组合关系‌:使用“*--”表示,例如 类A *-- 类D‌
    ‌关联关系‌【调用关系】:使用“--”表示,例如 类A <-- 类B‌

    二。特殊操作

    • plantuml包含另外的plantuml内信息

        common.plantuml

    @startuml
    class CommonClass {
        +field1
        +method1()
    }
    @enduml

     main.plantuml

    @startuml
    !include common.plantuml
    class MainClass {
        +field2
        +method2()
    }
    MainClass -- CommonClass : uses
    @enduml
    
    
    '!include (可以加相对路径)/common.plantuml

    三。循环流程图

    1. 使用repeat-until循环

    @startuml
    repeat : 重复执行以下步骤;
    : 执行步骤1;
    : 执行步骤2;
    : 执行步骤3;
    until (条件) is (满足);
    @enduml

    2. 使用while循环 

    @startuml
    start
    : 执行步骤1;
    while (条件) is (满足):
      : 执行步骤2;
      : 执行步骤3;
    endwhile (条件不再满足);
    stop
    @enduml

    3. 结合使用if-else和循环 

    @startuml
    start
    repeat : 重复执行以下步骤;
    : 执行步骤1;
    if (条件) then (是)
      : 执行步骤2A;
    else (否)
      : 执行步骤2B;
    endif
    until (最终条件) is (满足);
    stop
    @enduml

     4. 使用forkjoin来并行处理循环中的任务(高级用法)

    @startuml
    start
    repeat : 重复执行以下步骤;
    fork
      : 任务1;
    end fork
    fork again
      : 任务2;
    end fork again
    join
    until (条件) is (满足);
    stop
    @enduml

    5. 分支和合并(使用partition) 

    @startuml
    start
    partition "循环" {
      repeat : 重复执行以下步骤;
        : 步骤1;
        partition "分支" {
          if (条件) then (是)
            : 步骤2A;
          else (否)
            : 步骤2B;
          endif
        }
      until (条件) is (满足);
    }
    stop
    @enduml

    四。排版

    1.default
    箭头向左时,被指向对象在上; 箭头向右时,被指向对象在下。
    2.up
    使用up时,被指向对象在上。
    3.down
    使用down时,被指向对象在下。
    4.left
    使用left时,被指向对象在左。
    5.right
    使用right时,被指向对象在右。
    
    ××××××××××××××××××××××
    User -up-> Config : reads
    Service -down-> Database : connects
    使用-up->、-down->等调整箭头方向,避免连线交叉。

     6. 包 【package 】

    @startuml
    scale 750 width
    package foo1 <<Node>> {
      class Class1
    }
    
    package foo2 <<Rect>> {
      class Class2
    }
    
    package foo3 <<Folder>> {
      class Class3
    }
    
    package foo4 <<Frame>> {
      class Class4
    }
    
    package foo5 <<Cloud>> {
      class Class5
    }
    
    package foo6 <<Database>> {
      class Class6
    }
    
    

    五。其他操作

    1.    修改线条/箭头颜色 

      @startuml
          Bob -[#red]> Alice : hello
          Alice -[#0000FF]->Bob : ok
      @enduml
      
    2.   颜色与样式定义

      class Order #FFD700 {
        +total: double
      }
      User --> Order : places #green
    3.  修改字体颜色和线条

      <b>内容:加粗文本
      <u> 或 <u:#AAAAAA> 或 <u:colorName> 用来加下划线
      <i> 斜体
      <s> 或 <s:#AAAAAA> 或 <s:colorName> 用来加删除线
      <w> 或 <w:#AAAAAA> 或 <w:colorName> 用来加波浪线
      <color:#AAAAAA> 或 <color:colorName> 用来设置文本颜色
      <back:#AAAAAA> 或 <back:colorName> 用来设置背景色
      <size:nn> 设置字体大小
      
    4.  添加图片

      <img src="file"> 或 <img:file> 用来添加图片,图片文件必须 是可以访问得到才行。
      <img src="http://url"> 或 <img:http://url> 用来添加一个互 联网图片,同样的图片地址必须是可用的才行。

     六。特定语义

    1.   用例图  

      '从左往右画用例图
      left to right direction
      
      '这个作用将线条模糊和扭曲化
      skinparam handwritten true
      skinparam packageStyle rectangle actor customer
      '下面的这些定  义了角色和用例的一些颜色设置
      skinparam usecase {
          BackgroundColor DarkSeaGreen
          BorderColor DarkSlateGray
          ArrowColor Olive
          ActorBorderColor black
          ActorFontName Courier
      }
    2.  顺序图

      title CRM顺序图
      
      '一些外观设置
      skinparam sequenceArrowThickness 2
      skinparam roundcorner 20
      skinparam maxmessagesize 60
      skinparam backgroundColor #EEEBDC
      skinparam handwritten true
      skinparam sequence {
          ArrowColor black
          ActorBorderColor orange
          LifeLineBorderColor black
          LifeLineBackgroundColor DarkSeaGreen
          ParticipantBorderColor DarkSeaGreen
          ParticipantBackgroundColor default
          ParticipantFontName Impact
          ParticipantFontSize 17
          ParticipantFontColor #DarkSeaGreen
          ActorFontColor black
          ActorFontSize 17
          ActorFontName Aapex
      }

      3. Box框

    box "运行逻辑" #LightGreen
      participant "run" as run
      participant "logic" as logic
      participant "any" as any
    endbox

    评论
    添加红包

    请填写红包祝福语或标题

    红包个数最小为10个

    红包金额最低5元

    当前余额3.43前往充值 >
    需支付:10.00
    成就一亿技术人!
    领取后你会自动成为博主和红包主的粉丝 规则
    hope_wisdom
    发出的红包
    实付
    使用余额支付
    点击重新获取
    扫码支付
    钱包余额 0

    抵扣说明:

    1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
    2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

    余额充值