plantuml样式_GitHub - solarqiang/plantuml-style-c4: 自定义的plantuml 样式

自定义PlantUml和C4 Model样式

68747470733a2f2f7777772e706c616e74756d6c2e636f6d2f706c616e74756d6c2f706e672f524c416e526a696d34447476355453667a6331667749474e5138655733526771574a397142355a67503134766149686c3635545f377241435231574731753677552d5f6e7449466c4d4e494745313965385f52446f646e6d5533776d375954327a5361774778373336305736614f63526b5778774e3973693346356c50307036457134646256355a5f4a7a674473437a614e50507953306f346e78437674684b42315867756d444d4b2d67654575576b435352343131614755615f61707a515457416e337141773363784f4464374f5538594547447666654c64556845525a67676756737956376464737a6a2d2d6b744b6367504a4a4b465043746832754f74476763363934784f75682d3842426c7a4b4a4c664e665a71324f5f417a6831784a686c416b6e53714351477137574f71685f6c696d6935454769497a57684951337a5746506e55484e436a696f7a7a7a45456c47564c7176705854364f474c6c6131626f5169344a352d394170624e683869394b4f3263463350636f4d466e71415133685237795a505664506972704f435f386a56564d564b44645f6277694b4350524a6a6b314663443752767276305249665a4142574c4b7348784a506d3242414c69695f434769424331704f524e5063736a55486d4e63503972385653627845717663752d685735306b2d77597331736f4175554b44574530756148517943527a79724842765656673938787133

什么是PlantUml

PlantUml是一个支持快速绘制的开源项目.其定义了一套完整的语言用于实现UML关系图的描述.并基于强大的graphviz图形渲染库进行UML图的生成.绘制的UML图还可以导出为图片,以及通用的矢量SVG格式文件.

如以下代码,可实现时序图

@startuml

Alice -> Bob: Authentication Request

Bob --> Alice: Authentication Response

Alice -> Bob: Another authentication Request

Alice

@enduml

68747470733a2f2f7777772e706c616e74756d6c2e636f6d2f706c616e74756d6c2f696d672f54537831334f305733384e5845724471574976575a30353753304634396639574b495a784979494a6d564678796b566642335039454f386f6d4a693264363245776d32636f3475697462646e614d36586772304d4c4a5630515878534b5663436434627a4f6e6f6849733378714f50376e41526a6474785a6364596858737930

可以使用常用的编辑器vscode 或者sublime 或者其他IDE工具继承PlantUml

想了解更多PlantUml或者使用方法,可参考官网http://plantuml.com/zh/,上面详细的中英文说明

什么是C4 Model

C4 Model 在我眼里更像是一个标准,一个方法论。让架构师、程序员、业务人员在讨论IT系统架构时候统一维度,统一标准,更方便的理解和沟通IT系统中的真实问题。强烈推荐!!!

C4 模型由一系列分层的软件架构图组成,这些架构图用于描述上下文(Context)、容器(Container)、组件(Component)和代码(Code)。C4 图的层次结构提供了不同的抽象级别,每种抽象级别都与不同的受众有关

68747470733a2f2f63346d6f64656c2e636f6d2f696d672f62696762616e6b706c632d436f6e7461696e6572732e706e67

本库只是一个样式库

本库的目的是美化PlantUml和C4 Model所绘制系统架构图的样式,统一审美而产生。

1.时序图

在PlantUml代码中引用

@startuml

actor User

participant "First Class" as first

participant "Second Class" as second

participant "Last Class" as last

User -> first: DoWork

activate first

note right

this is a first note

end note

first -> second: Create Request

activate second

second -> last: DoWork

activate last

last --> second: WorkDone

destroy last

deactivate last

second --> first: Request Created

deactivate second

first --> User: Done

deactivate first

@enduml

68747470733a2f2f7777772e706c616e74756d6c2e636f6d2f706c616e74756d6c2f696d672f505037313365386d3338526c564f6736456f5f306d50313046376449364379424c3562345862696e7955726a734c4a47503635547a5f566c72723436446677644d6d2d634f55566e36435a3341326452734434435a44644d2d69314f7a495134333474306976784e615743725263574e635a3064726741544d5462386d303351336c44444432736d545956646875665937754f667a486753584476554557503478636e304d49505565627532495653765739574b6e7558474f454c396456507164715979466a4f39434d76516534335f3131354a6c76576c4e354c4b6b753657354c466c6462374e7168686b525675544336346167645050614f3349303541595277443053765556397535494866515f7a573830

2. 类图

以下为示例

@startuml 示例类图

!includeurl https://raw.githubusercontent.com/xuanye/plantuml-style-c4/master/core.puml

' uncomment the following line and comment the first to use locally

'!include core.puml

GREY_ARROW

abstract class BaseClass {

+ AbstractMethod() : void

# VirtualMethod(s:string) : int

}

class SubClass {

+ AbstractMethod() : void

# VirtualMethod(s:string) : int

}

interface IInterfaceA {

}

interface "IInterfaceA`1" {

Value : T <>

}

class ImplementClass {

+ Value : int <>

}

BaseClass

IInterfaceA

"IInterfaceA`1" ""

@enduml

687474703a2f2f7777772e706c616e74756d6c2e636f6d2f706c616e74756d6c2f706e672f394f736e3353394733304c7866653031796a72474b4d4b4c7572576161685f70504a7942695a72344c4153684a5a536445353354426856446e4d684832686b6b6d4357374b5632786c4a51697a51704b614473585a59507866712d6e3771683373437a7749586f63617a6f6653714133616c696d4a48425a7045626c52506f564d4e747679476930

3. 状态图

@startuml state-sample

!includeurl https://raw.githubusercontent.com/xuanye/plantuml-style-c4/master/core.puml

' uncomment the following line and comment the first to use locally

'!include core.puml

GREEN_ARROW

title HTTP Request Parsing States

[*] --> RequestLine

RequestLine : Parse HTTP

RequestLine : request line

RequestLine --> Headers : Ok

RequestLine --> Error : Failure

Headers : Parse HTTP

Headers : headers

Headers --> Host : Ok

Headers --> Error : Failure

Host : Check host

Host : header is present

Host --> Length : Not chunked

Host --> Chunked : Chunked

Host --> Error : Failure

Length : Check if required,

Length : valid & size

Length --> Error : Failure

Length --> Error : Entity Too Large

Length --> [*] : Ok

Chunked : Parse HTTP

Chunked : chunk header

Chunked --> Error : Failure

Chunked --> [*] : Ok

@enduml

687474703a2f2f7777772e706c616e74756d6c2e636f6d2f706c616e74756d6c2f706e672f394f716e3369386d33344c744a57343749426d6d43564b6739684c653953554478367a31526d7948717a4352646a75494f3454736c546e735176676866456a7230714f79593970567a524c5a6f735536553369434f675a6a774648396a62446541446b69492d314b415572456447465935446f374962323038554c6c545370463868522d2d304b30

4. 用例图

@startuml usecase-sample

!includeurl https://raw.githubusercontent.com/xuanye/plantuml-style-c4/master/core.puml

' uncomment the following line and comment the first to use locally

'!include core.puml

' 设置方向

LAYOUT_LEFT_RIGHT

'LAYOUT_TOP_DOWN

'LAYOUT_AS_SKETCH

actor customer

actor clerk

UserCasePackage("checkout","买单") {

customer -- (checkout)

(checkout) .> (payment) : include

(help) .> (checkout) : extends

(checkout) -- clerk

}

@enduml

687474703a2f2f7777772e706c616e74756d6c2e636f6d2f706c616e74756d6c2f696d672f394f71783369393033304c784a5734376f4267586569664c5a46443438646354624a2d3274317559676a344b6576615a735245774e637752595451325368736b634943554843786c7a6a666f684d53354e3750424d3352504574734178473044504a6c68415639474a3741647066356d326b7633344c4731755333717a705245716d6e52566c6d32

5. 活动图

@startuml activity-new-sample

!includeurl https://raw.githubusercontent.com/xuanye/plantuml-style-c4/master/core.puml

' uncomment the following line and comment the first to use locally

'!include core.puml

GREEN_ARROW

start

:ClickServlet.handleRequest();

:new page;

if (Page.onSecurityCheck) then (true)

:Page.onInit();

if (isForward?) then (no)

:Process controls;

if (continue processing?) then (no)

stop

endif

if (isPost?) then (yes)

:Page.onPost();<

else (no)

:Page.onGet();

endif

:Page.onRender();

endif

else (false)

endif

if (do redirect?) then (yes)

:redirect process;

else

if (do forward?) then (yes)

:Forward request;

else (no)

:Render page template;

endif

endif

stop

@enduml

68747470733a2f2f7777772e706c616e74756d6c2e636f6d2f706c616e74756d6c2f696d672f394f72313369386d33304a6c56474b79384636353477542d6e51474d5a5549754b526f637a4654476b38723636697469753835654561744e51614c5a614858774d4f376b547742315574764d6846343862723473576e586f7348677a572d7147776966737669626e6741486f65794f4536554a536b65654a357a484e6e5035437a6c494e6b567a2d697a5a6f58477930

6. 其他组件

@startuml element

!includeurl https://raw.githubusercontent.com/xuanye/plantuml-style-c4/master/core.puml

' uncomment the following line and comment the first to use locally

'!include core.puml

actor actor

agent agent

artifact artifact

boundary boundary

card card

cloud cloud

component component

control control

database database

entity entity

file file

folder folder

frame frame

interface interface

node node

package package

queue queue

stack stack

rectangle rectangle

storage storage

usecase usecase

@enduml

68747470733a2f2f7777772e706c616e74756d6c2e636f6d2f706c616e74756d6c2f696d672f375371783365443033344e4864624b61326d3074674c416e354d5475326159733656635a584471647144746377437748783561676d7433566834616a41395652636a645a49554a7963547652686c4d67574256543466504a73764d2d6e4e51306b68325456386d7931364478613738616438417232753857714446717770373362645f7930303030

C4 模型

1.System Context

@startuml system-context-diagram

!includeurl https://raw.githubusercontent.com/xuanye/plantuml-style-c4/master/c4_context.puml

' uncomment the following line and comment the first to use locally

'!include c4_context.puml

LAYOUT_WITH_LEGEND

title System Context diagram for Internet Banking System

Actor(customer, "Personal Banking Customer", "A customer of the bank, with personal bank accounts.")

System(banking_system, "Internet Banking System", "Allows customers to view information about their bank accounts, and make payments.")

System_Ext(mail_system, "E-mail system", "The internal Microsoft Exchange e-mail system.")

System_Ext(mainframe, "Mainframe Banking System", "Stores all of the core banking information about customers, accounts, transactions, etc.")

Rel(customer, banking_system, "Uses")

Rel_Back(customer, mail_system, "Sends e-mails to")

Rel_Neighbor(banking_system, mail_system, "Sends e-mails", "SMTP")

Rel(banking_system, mainframe, "Uses")

@enduml

68747470733a2f2f7777772e706c616e74756d6c2e636f6d2f706c616e74756d6c2f706e672f564c3744526a66303442787841515053653142574971757a585149655a484a496731314c464c6433436b304c2d73466a705852797a58715263713941555f466b566c2d2d5a756f3161704e50312d734b49486a416d4b33394e434c465548786d43447266426a437748476841456f52374b2d4c6a5661706551696568577776584a6f424e585952674268534f634b416b7865654d566b486672515746384a64584d553433626d485252756d5f51425333656e71316b5772534655694776536b332d38426e3265736669733456345477685079466473537a6c52776c596e7a4667515f34795f70395f2d506e6268446147423669395045376e583855446e627230327269567534636b57594536317448786f54395869736f63733855484966367a664a32366d496b3577317351435f416e556e6c38756d6e773946586a3674796a6733345350336365556350703177594b4a75785a5446306e45766344725956353868503761566a37676a516636497355784d417071327a44317a31452d62586178487457736754734848736b4a53566a7031527431314e4d626865534e503159566b4948484d742d39396246635a4634695f2d673942355932617358584c523148787a6263317a4c594d763747395334714e75647852516f46386445656c2d2d714e346671724334444150564b79613554334654513766554f74704862304577594167316f4f624f6a4b735f617864756774796a5f6e4f6632616e476e4745675f474e71556653626b4b74696f5a525f654545796144774c516e7a367279425f5052554435776c4e6179476a505a7a51642d765577436351746d3030

2. Container

@startuml container-diagram

!includeurl https://raw.githubusercontent.com/xuanye/plantuml-style-c4/master/c4_container.puml

' uncomment the following line and comment the first to use locally

'!include c4_container.puml

LAYOUT_TOP_DOWN

'LAYOUT_AS_SKETCH

LAYOUT_WITH_LEGEND_CN

LAYOUT_TOP_DOWN

'LAYOUT_AS_SKETCH

LAYOUT_WITH_LEGEND

title Container diagram for Internet Banking System

Actor(customer, Customer, "A customer of the bank, with personal bank accounts")

System_Boundary(c1, "Internet Banking") {

Container(web_app, "Web Application", "Java, Spring MVC", "Delivers the static content and the Internet banking SPA")

Container(spa, "Single-Page App", "JavaScript, Angular", "Provides all the Internet banking functionality to cutomers via their web browser")

Container(mobile_app, "Mobile App", "C#, Xamarin", "Provides a limited subset of the Internet banking functionality to customers via their mobile device")

ContainerDb(database, "Database", "SQL Database", "Stores user registraion information, hased auth credentials, access logs, etc.")

Container(backend_api, "API Application", "Java, Docker Container", "Provides Internet banking functionality via API")

}

System_Ext(email_system, "E-Mail System", "The internal Microsoft Exchange system")

System_Ext(banking_system, "Mainframe Banking System", "Stores all of the core banking information about customers, accounts, transactions, etc.")

Rel(customer, web_app, "Uses", "HTTPS")

Rel(customer, spa, "Uses", "HTTPS")

Rel(customer, mobile_app, "Uses")

Rel_Neighbor(web_app, spa, "Delivers")

Rel(spa, backend_api, "Uses", "async, JSON/HTTPS")

Rel(mobile_app, backend_api, "Uses", "async, JSON/HTTPS")

Rel_Back_Neighbor(database, backend_api, "Reads from and writes to", "sync, JDBC")

Rel_Back(customer, email_system, "Sends e-mails to")

Rel_Back(email_system, backend_api, "Sends e-mails using", "sync, SMTP")

Rel_Neighbor(backend_api, banking_system, "Uses", "sync/async, XML/HTTPS")

@enduml

68747470733a2f2f7777772e706c616e74756d6c2e636f6d2f706c616e74756d6c2f696d672f624c4e315a6a663834427478417368394f4f586131614e41514b7a5830364b63364d524f63456d6139776c534267324c5468564c744f5031675f7474684a51736d48316a545a64507651664e68722d7a515a75755a7a504e584739586a3455666f4f766f59486b42485649527234394c454c4c4d6d545278716c712d37626c53747377617472505076535936366a422d4c6658595f356758466a32754c41573374695a76577741485533796b7137636f4f5f342d784c685362666d48744b32626b5239573146315257684c486f6b6f627465335939343254472d2d706a387756333731644b3451574b65566566594b39725f5a48752d4a78797a544c6b646655666846646277566566576243615a4a7646357a4478786c386f7946674664735356766d5f70514238497779386659714f4437656d466d6946563632686f53435477582d3151644257716e4c4844313755734136656433533573485963745444573063714f7042652d4969523543556e50486f5a3945674448724a3530384b6f626c486b795a51385a536468375748706a4f495a55435450625f7935522d3269325f644c7158746c414b596e424a6477583332506267514830427571555345574a785a3236664249312d2d4246514f5a44494361547177596669482d79354431436a5876323237547a695f52536f6d634a78375473394d4346346c784361725f59586142746a63695968326e7a3331457a67484a513435765169764376455531485f68704263587149674145495f5831634277665149305378595135344d6b337047635244646c72756e51576d634c4a4b6f4236654e7266457170536e564343324d4f612d35745056384a74627541684343505463506c2d3563786959546f47304555736165346a7769736f4f65795343374f4b6e44382d314a564237385f4a55734c704342556d534d446638766f726f517632514a4c644b717572586f7961764f434d6b3466506f37667a3476553957416441454c735233422d4a3578504c43364f65566637464d4947515f42587a2d52666b50754a4878676b6c667a576a7a575947437041745f78676d7a565f4c334162326772444b3158666b46356c705552354e304e78377169655263374c62384f4f7170516d5f704c783535704775784c5a4269364d523375384a416337684441716d4e5174696352523157437364315755754b506d65335067526f66703737745268366d464647336b6c70646149456c6630776b6e3945595f644c61476b7a78725568505341395f52705a366c72784a695f4f5455676e4e56663453684644704461725338486862786e316765467a69525344714873715945354a796c6d7146637a2d746c395f4c5150746437715954683979372d4b424f557657524b7248747066786f716c38547638396f30746d78367851645a4457646b626e4f5145344f487447413448685a3145483279567245564a684158546b7341767a6962576a3677336b4342746f417a2d726d654a77535146456a794c5a39797537426b4c5f67647930

3.Component

组件图

@startuml component-diagram

!includeurl https://raw.githubusercontent.com/xuanye/plantuml-style-c4/master/c4_component.puml

' uncomment the following line and comment the first to use locally

'!include c4_component.puml

LAYOUT_WITH_LEGEND

title Component diagram for Internet Banking System - API Application

Container(spa, "Single Page Application", "javascript and angular", "Provides all the internet banking functionality to customers via their web browser.")

Container(ma, "Mobile App", "Xamarin", "Provides a limited subset ot the internet banking functionality to customers via their mobile mobile device.")

ContainerDb(db, "Database", "Relational Database Schema", "Stores user registration information, hashed authentication credentials, access logs, etc.")

System_Ext(mbs, "Mainframe Banking System", "Stores all of the core banking information about customers, accounts, transactions, etc.")

Container_Boundary(api, "API Application") {

Component(sign, "Sign In Controller", "MVC Rest Controlle", "Allows users to sign in to the internet banking system")

Component(accounts, "Accounts Summary Controller", "MVC Rest Controlle", "Provides customers with a summory of their bank accounts")

Component(security, "Security Component", "Spring Bean", "Provides functionality related to singing in, changing passwords, etc.")

Component(mbsfacade, "Mainframe Banking System Facade", "Spring Bean", "A facade onto the mainframe banking system.")

Rel(sign, security, "Uses")

Rel(accounts, mbsfacade, "Uses")

Rel(security, db, "Read & write to", "JDBC")

Rel(mbsfacade, mbs, "Uses", "XML/HTTPS")

}

Rel(spa, sign, "Uses", "JSON/HTTPS")

Rel(spa, accounts, "Uses", "JSON/HTTPS")

Rel(ma, sign, "Uses", "JSON/HTTPS")

Rel(ma, accounts, "Uses", "JSON/HTTPS")

@enduml

68747470733a2f2f7777772e706c616e74756d6c2e636f6d2f706c616e74756d6c2f696d672f664c4c444b7a696d344274784c736e70413634366f414d6464586532424c31653648707753536769764f735a4c58795549495244544668566b76384a736d36636d716e7059526e517852767a7879622d766d4577713657356d6b6851365a42586b39484f45544a5041736334516166676438394c32424c5f457661754e397a4b43676f51656c376158334d314a76706d7353636c3169733639684c32342d69542d783148543270554a334a774736755974596f77355953725073473771315745514776304d313469684c3973424b71354958653244324e69524b6c64554d4d314575456f30664e5150305378614632715664506d4656742d2d4e772d2d3765766c725853647479755f744a4d6e515276386c7a7546667a5450356347474837435465545845705f5a534e333930706633304b78485f38704779577246652d344f6668554e4341726839474b36514b734d705057435045316b7836697957623745774c70743559695139657675776d532d65315445725935445951506735426775532d6c69576f703930712d4e66664f7830434b4d6d39393959744c476f52323954385a3631776c39554e594736437a383173696765373173704867545a3075377137483454634342674841657346385251644a4978375464325247434c38396c32695f54525657464442686a6a5f7168774b3441736544724c657042576c6b564f533032464b4b695477496d68476f78434548594848685a525877694f76704858453265615a7775624371384d4a51547261556d47685f5936523158373250693147335867386f4667466d486531336146566b6675575341386b3967444c77535f6d665a4e5658383641445369594e65614771364941395554666238345870653231685730496e69347467364b6446526343306858637979395966783733723159724645417a356a6e625842526c6838564144332d3971315f70654a5a7873694a33395850545a34343269766c622d4b4e375270504750746e425566327956654435775f62624356664f6d6236377a5346676b7a52706175564449763773657174497558527049525246435936397139556f6b6a2d4f7433646c48536e4e414c626353734c614a49615657345932564845425062663636787837554a54424d4253766d4978686a5f747a476b366635546231576e4c496c67344f574c6a57797255682d73686b6e7273755631356267596d39422d4f49487564704155304a4d357a5a306d485171456b676b6e4271486f4a367044447353685f75323155717978586b392d427a3847746745615f645977644e553439526f36444f5538734f5a6568697645507543335772686a6e4b613575706c637664666f43505f567666707939796a4979565949744266716274514c565f784b764e4c393071437a6376576f7a476b677750534b5571556376415f374e6d3030

4 Code

类图上面已经演示过了

5. 扩展图

@startuml system-context-extend-diagram

!includeurl https://raw.githubusercontent.com/xuanye/plantuml-style-c4/master/c4_context.puml

' uncomment the following line and comment the first to use locally

'!include c4_context.puml

'LAYOUT_TOP_DOWN

'LAYOUT_AS_SKETCH

LAYOUT_WITH_LEGEND

title System Landscape diagram for Big Bank plc

Actor(customer, "Personal Banking Customer", "A customer of the bank, with personal bank accounts.")

Enterprise_Boundary(c0, "Big Bank plc") {

System(banking_system, "Internet Banking System", "Allows customers to view information about their bank accounts, and make payments.")

System_Ext(atm, "ATM", "Allows customers to withdraw cash.")

System_Ext(mail_system, "E-mail system", "The internal Microsoft Exchange e-mail system.")

System_Ext(mainframe, "Mainframe Banking System", "Stores all of the core banking information about customers, accounts, transactions, etc.")

Person_Ext(customer_service, "Customer Service Staff", "Customer service staff within the bank.")

Person_Ext(back_office, "Back Office Staff", "Administration and support staff within the bank.")

}

Rel_Neighbor(customer, banking_system, "Uses")

Rel_R(customer, atm, "Withdraws cash using")

Rel_Back(customer, mail_system, "Sends e-mails to")

Rel_R(customer, customer_service, "Asks questions to", "Telephone")

Rel_D(banking_system, mail_system, "Sends e-mail using")

Rel_R(atm, mainframe, "Uses")

Rel_R(banking_system, mainframe, "Uses")

Rel_D(customer_service, mainframe, "Uses")

Rel_U(back_office, mainframe, "Uses")

Lay_D(atm, banking_system)

Lay_D(atm, customer)

Lay_U(mail_system, customer)

@enduml

68747470733a2f2f7777772e706c616e74756d6c2e636f6d2f706c616e74756d6c2f696d672f544c4844522d386d344274784c796e6f41504e7573344446556f674b5135696a424c4b314c4e6b415a454530584d4464525155304c6c6c56542d6d6161424731324963557070546c6464726c374a4d6b6f324a4f61744b793670416a37332d77385677764965513965356a33435f394441325142583154366d6977767446754f5a6d717a5a425232784f66444f52613959536744634378366e754167346e5f646159665655735a54495638586b6e6a6435396b4f43526b426770775a374674613157673555486463577a6a6e49424d4b2d59334b356748473741584165454b4d6e6b414e316b6d424b5a4367764f64537231335853744c6f43765f794e676e4e794d686e3669794d786f7a646d73475042747a3567755637692d4e7a51564b4f7077455671536b4334325553764230436e4330534b4c5836536d754c39755a496d3548694f4b684c376442393239616d66717356355452665a3969317a357776694c6648364d427946302d4c68755645325449486544436d7330515a316431304a59366c43787144413645774b43774555685534483359526f4f736d463977594451376372365656694d304a4a45794d5f5842304e6d635f6c6f61316e454d5143565a394c7237536451364c5747364f507a2d55714c62467a4f5657316e30415079776534726531745557596834454f44695031733554367a6e6e6f556c3942417335566d434a4871564d66796f5763672d5468374a7144324d654336424b784e2d354a574f6d4155486164366c6670664d395653654c79595a305a616c57696344354d666d7759387a6a486a554e30636d62543044366a4b6a6d706e7342467a4e53374d716c53455255303867704e6f44303035553454643973643733477553754f67497661466d6e447478306f66723532304c3656365544792d3146463851613731695a4a31716a3471784a4b7a4c4a314f786d637132644d4d4d71726965796b36696473697178486943434b4a424342664b646b4950343839597733426b4e33586a69587052547072426c79385555436f566b35596b7a6b716869614e5251756a6a765a586d7a795153514c6174596a54733230435630436d6a4768734d316c6e524f4b69794a73707254677a6d336f5f64706a7134336f6e556d6a5f3263783351646f55356e554e46447a666e556959696f794e78376870356b4974795938716e5451516c6744694c2d3269476e6a4e476a566a314e5434614a617a4f534b306844735f78516a527457525a6b64715a4271766f5a79465a475f6d56

参考

C4 Model的配色和实现大部分都是直接使用

https://github.com/RicardoNiepel/C4-PlantUML的,只有几个配色略有调整,并抽取出颜色的文件,可单独替换c4_theme 以实现其他配色

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值