日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

横空出世!IDEA画图神器来了,比Visio快10倍!

發布時間:2025/3/15 编程问答 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 横空出世!IDEA画图神器来了,比Visio快10倍! 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

程序員在工作中,經常會有繪制時序圖、流程圖的需求,尤其是在寫文檔的時候。平時我們會選擇ProcessOn這類工具來繪制,但有時候用代碼來畫圖可能會更高效一點,畢竟沒有比程序員更熟悉代碼的了。今天給大家推薦一款畫圖工具PlantUML,可以配合IDEA使用,畫圖更高效!

?

PlantUML簡介

PlantUML是一款開源的UML圖繪制工具,支持通過文本來生成圖形,使用起來非常高效。可以支持時序圖、類圖、對象圖、活動圖、思維導圖等圖形的繪制。

下面使用PlantUML來繪制一張流程圖,可以實時預覽,速度也很快!

?

安裝

通過在IDEA中安裝插件來使用PlantUML無疑是最方便的,接下來我們來安裝下IDEA的PlantUML插件。

  • 首先在IDEA的插件市場中搜索PlantUML,安裝這個排名第一的插件;

  • 有時候網絡不好的話可能下載不下來,可以點擊Plguin homepage按鈕訪問插件主頁,然后選擇合適的版本下載壓縮包;

  • 下載成功后,選擇從本地安裝即可。

?

使用

接下來我們使用PlantUML插件分別繪制時序圖、用例圖、類圖、活動圖、思維導圖,來體驗下PlantUML是不是真的好用!

時序圖

時序圖(Sequence Diagram),是一種UML交互圖。它通過描述對象之間發送消息的時間順序顯示多個對象之間的動態協作。我們在學習Oauth2的時候,第一步就是要搞懂Oauth2的流程,這時候有個時序圖幫助可就大了。下面我們使用PlantUML來繪制Oauth2中使用授權碼模式頒發令牌的時序圖。

  • 首先我們需要新建一個PlantUML文件,選擇時序圖;

  • 我們可以通過PlantUML提供的語法來生成Oauth2的時序圖,語法還是非常簡單的,具體內容如下;

@startuml title Oauth2令牌頒發之授權碼模式actor User as user participant "User Agent" as userAgent participant "Client" as client participant "Auth Login" as login participant "Auth Server" as serverautonumber user->userAgent:訪問客戶端 activate userAgent userAgent->login:重定向到授權頁面+clientId+redirectUrl activate login login->server:用戶名+密碼+clientId+redirectUrl activate server server-->login:返回授權碼 login-->userAgent:重定向到redirectUrl+授權碼code deactivate login userAgent->client:使用授權碼code換取令牌 activate client client->server:授權碼code+clientId+clientSecret server-->client:頒發訪問令牌accessToken+refreshToken deactivate server client-->userAgent:返回訪問和刷新令牌 deactivate client userAgent--> user:令牌頒發完成 deactivate userAgent @enduml
  • 該代碼將生成如下時序圖,用寫代碼的方式來畫時序圖,是不是夠炫酷;

  • 本時序圖關鍵說明如下:

    • title可以用于指定UML圖的標題;

    • 通過actor可以聲明人形的參與者;

    • 通過participant可以聲明普通類型的參與者;

    • 通過as可以給參與者取別名;

    • 通過->可以繪制參與者之間的關系,虛線箭頭可以使用-->;

    • 在每個參與者關系后面,可以使用:給關系添加說明;

    • 通過autonumber我們可以給參與者關系自動添加序號;

    • 通過activate和deactivate可以指定參與者的生命線。

  • 這里還有個比較神奇的功能,當我們右鍵時序圖時,可以生成一個在線訪問的鏈接;

  • 直接訪問這個鏈接,可以在線訪問UML時序圖,并進行編輯,是不是很酷!

用例圖

用例圖(Usecase Diagram)是用戶與系統交互的最簡表示形式,展現了用戶和與他相關的用例之間的關系。通過用例圖,我們可以很方便地表示出系統中各個角色與用例之間的關系,下面我們用PlantUML來畫個用例圖。

  • 首先我們需要新建一個PlantUML文件,選擇用例圖,該用例圖用于表示顧客、主廚、美食家與餐館中各個用例之間的關系,具體內容如下;

@startuml left to right direction actor Guest as g package Professional {actor Chief as cactor "Food Critic" as fc } package Restaurant {usecase "Eat Food" as uc1usecase "Pay For Food" as uc2usecase "Drink" as uc3usecase "Review" as uc4 } g--> uc1 g--> uc2 g--> uc3 fc--> uc4 @enduml
  • 該代碼將生成如下用例圖;

  • 本用例圖關鍵說明如下:

    • left to right direction表示按從左到右的順序繪制用例圖,默認是從上到下;

    • 通過package可以對角色和用例進行分組;

    • 通過actor可以定義用戶;

    • 通過usecase可以定義用例;

    • 角色和用例之間的關系可以使用-->來表示。

類圖

類圖(Class Diagram)可以表示類的靜態結構,比如類中包含的屬性和方法,還有類的繼承結構。下面我們用PlantUML來畫個類圖。

  • 首先我們需要新建一個PlantUML文件,選擇類圖,該圖用于表示Person、Student、Teacher類的結構,具體內容如下;

@startuml class Person {# String name# Integer age+ void move()+ void say() } class Student {- String studentNo+ void study() } class Teacher {- String teacherNo+ void teach() } Person <|-- Student Person <|-- Teacher @enduml
  • 該代碼將生成如下類圖,看下代碼和類圖,是不是發現和我們用代碼定義類還挺像的;

  • 本類圖關鍵說明如下:

    • 通過class可以定義類;

    • 通過在屬性和方法左邊加符號可以定義可見性,-表示private,#表示protected,+表示public;

    • 通過<|--表示類之間的繼承關系。

活動圖

活動圖(Activity Diagram)是我們用的比較多的UML圖,經常用于表示業務流程,比如電商中的下單流程就可以用它來表示。下面我們用PlantUML來畫個活動圖。

  • 首先我們需要新建一個PlantUML文件,選擇活動圖,這里使用了mall項目中購物車中生成確認單的流程,具體內容如下;

@startuml title 生成確認單流程 start :獲取購物車信息并計算好優惠; :從ums_member_receive_address表中\n獲取會員收貨地址列表; :獲取該會員所有優惠券信息; switch(根據use_type判斷每個優惠券是否可用) case(0):全場通用;if (判斷所有商品總金額是否\n滿足使用起點金額) then (否):得到用戶不可用優惠券列表;stopendif case(-1):指定分類;if (判斷指定分類商品總金額\n是否滿足使用起點金額) then (否):得到用戶不可用優惠券列表;stopendif case(-2):判斷指定商品總金額是否滿足使用起點金額;if (判斷指定分類商品總金額\n是否滿足使用起點金額) then (否):得到用戶不可用優惠券列表;stopendif endswitch :得到用戶可用優惠券列表; :獲取用戶積分; :獲取積分使用規則; :計算總金額,活動優惠,應付金額; stop @enduml
  • 該代碼將生成如下活動圖,在活動圖中我們既可以用if else,又可以使用switch,甚至還可以使用while循環,功能還是挺強大的;

  • 本活動圖關鍵說明如下:

    • 通過start和stop可以表示流程的開始和結束;

    • 通過:和;中間添加文字來定義活動流程節點;

    • 通過if+then+endif定義條件判斷;

    • 通過switch+case+endswitch定義switch判斷。

思維導圖

思維導圖(Mind Map),是表達發散性思維的有效圖形工具,它簡單卻又很有效,是一種實用性的思維工具。之前在我的mall學習教程中就有很多地方用到了,下面我們用PlantUML來畫個思維導圖。

  • 首先我們需要新建一個PlantUML文件,選擇思維導圖,這里使用了mall學習路線中的大綱視圖,具體內容如下;

@startmindmap +[#17ADF1] mall學習路線 ++[#lightgreen] 推薦資料 ++[#lightblue] 后端技術棧 +++_ 項目框架 +++_ 數據存儲 +++_ 運維部署 +++_ 其他 ++[#orange] 搭建項目骨架 ++[#1DBAAF] 項目部署 +++_ Windows下的部署 +++_ Linux下使用Docker部署 +++_ Linux下使用Docker Compose部署 +++_ Linux下使用Jenkins自動化部署 --[#1DBAAF] 電商業務 ---_ 權限管理模塊 ---_ 商品模塊 ---_ 訂單模塊 ---_ 營銷模塊 --[#orange] 技術要點 --[#lightblue] 前端技術棧 --[#lightgreen] 進階微服務 ---_ Spring Cloud技術棧 ---_ 項目部署 ---_ 技術要點 --[#yellow] 開發工具 --[#lightgrey] 擴展學習 @endmindmap
  • 該代碼將生成如下思維導圖,其實使用PlantUML我們可以自己定義圖形的樣式,這里我自定義了下顏色;

  • 本思維導圖關鍵說明如下:

    • 通過+和-可以表示思維導圖中的節點,具有方向性;

    • 通過[#顏色]可以定義節點的邊框顏色;

    • 通過_可以去除節點的邊框;

?

總結

雖然目前可以繪制UML圖的圖形化工具很多,但是對于程序員來說,使用代碼來繪圖可能更直接,效率更高,尤其是配合IDEA使用。如果你想使用代碼來繪圖,不妨嘗試下PlantUML吧。


參考資料

官方文檔:https://plantuml.com/zh/

有道無術,術可成;有術無道,止于術

歡迎大家關注Java之道公眾號

好文章,我在看??

總結

以上是生活随笔為你收集整理的横空出世!IDEA画图神器来了,比Visio快10倍!的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 视频一二三区 | 亚洲一区免费在线观看 | 亚洲播放器 | 天堂…中文在线最新版在线 | 亚洲精品久久久久国产 | 九九热在线观看 | 精品一区不卡 | 毛片久久久久久久 | 一二区在线视频 | 午夜精品福利一区二区蜜股av | 日韩精品2区 | 欧美一级性生活 | 亚洲精品在线不卡 | 国产做受入口竹菊 | 每日更新在线观看av | 色综合av综合无码综合网站 | 色黄大色黄女片免费中国 | 在线免费看黄视频 | 亚洲欧美黄| 国产精品久久久久av | 精品乱码一区二区三区四区 | 97国产超碰 | 欧美大片在线观看 | 亚洲最大av网 | 国产一级久久 | 少妇一晚三次一区二区三区 | 亚洲第一综合网站 | 久久精品在这里 | 丁香六月啪啪 | √资源天堂中文在线视频 | 麻豆av一区二区三区 | 深夜福利视频导航 | 刘亦菲毛片一区二区三区 | 免费a在线观看 | 91视频观看 | 亚洲视频四区 | 五月天综合婷婷 | 99久久综合国产精品二区 | 免费a在线 | 黑人巨大精品欧美一区二区免费 | 亚洲三级视频 | 亚洲午夜一区二区 | 成人观看网站 | 午夜小视频网站 | 国产美女精品人人做人人爽 | 一卡二卡三卡视频 | 国产综合久久久久久鬼色 | 日韩 国产 一区 | 最新中文字幕在线 | 福利一区视频 | 操一操干一干 | 国产精品无码午夜福利 | 色婷婷综合在线 | 国产毛片久久久久久 | 亚洲av成人无码久久精品老人 | 欧美日韩成人在线观看 | 久久女女 | 欧美一级爱爱 | 蘑菇福利视频一区播放 | 欧美日韩一区二区久久 | 婷婷的五月 | 国产午夜激情 | 黄色香港三级三级三级 | 拔插拔插海外华人永久免费 | 麻豆av片| 成人h动漫精品一区二区下载 | 国产又粗又长又硬免费视频 | 无码人妻精品一区二区蜜桃视频 | 亚洲国产18| 少妇大叫太粗太大爽一区二区 | 久久久久国产精品熟女影院 | 梦梦电影免费高清在线观看 | 黄色片a级片 | 污视频91| 日本一二三区视频在线 | 亚洲一区二区三区高清视频 | 91在线观看欧美日韩 | 一级黄色大片网站 | 欧美日韩123 | 高h乱l高辣h文短篇h | 精品久久国产字幕高潮 | 欧美巨乳美女 | 亚洲熟妇无码av在线播放 | 黑人狂躁日本妞hd | 亚洲精品日日夜夜 | 日本欧美国产一区二区三区 | 色乱码一区二区三在线看 | 欧美高清| av动漫在线免费观看 | 成人黄色录像 | 很黄的性视频 | 国产精品毛片久久 | 久久精品国产电影 | 五月天啪啪 | 亚洲欧美日韩国产精品 | 日本内谢少妇xxxxx少交 | 美女狂揉羞羞的视频 | 亚洲私人网站 | 影音先锋黄色资源 |