Register
Process Type
Graphical expression
Mind Type
Structured expression
Note Type
Efficient expression

Blokinė diagramaSintaksė

Blokinė diagrama

Blokinę diagramą sudaro blokai ir jungtys, kurie vaizdžiai parodo sudėtingas sistemas, procesus ar architektūrą. Blokai žymi pagrindinius komponentus ar funkcijas, o jungtys rodo šių komponentų tarpusavio ryšius ar procesus; blokinės diagramos yra labai svarbios įvairiose srityse, tokiose kaip inžinerija, programinės įrangos kūrimas ir procesų valdymas.

Kodas
                            
Kopijuoti
Įterpti
block-beta columns 1 db(("DB")) blockArrowId6<["   "]>(down) block:ID A B["A wide one in the middle"] C end space D ID --> D C --> D style B fill:#f96,stroke:#333,stroke-width:4px

Blokinės diagramos paskirtis

Pagrindinė blokinės diagramos paskirtis – suteikti aukšto lygmens sistemos vaizdą, kad žmonės galėtų lengvai suprasti ir analizuoti, nereikėdami gilintis į kiekvieno komponento sudėtingas detales. Tai daro blokines diagramas ypač naudingas supaprastinant sudėtingas sistemas bei paaiškinant bendrą sistemos komponentų struktūrą ir sąveiką.

Naudojimo scenarijai

Blokinės diagramos plačiai taikomos įvairiose pramonės šakose ir disciplinose, visų pirma:

  • Programinės įrangos architektūra: kuriant programinę įrangą blokinės diagramos gali būti naudojamos programos architektūrai paaiškinti. Tai apima atskirų modulių ar paslaugų sąveikos, duomenų srautų ir aukšto lygmens komponentų sąveikos parodymą.
  • Tinklo topologijos diagrama: blokinės diagramos puikiai tinka IT ir telekomunikacijų tinklo architektūrai pavaizduoti. Jos gali parodyti, kaip tarpusavyje jungiasi skirtingi tinklo įrenginiai ir paslaugos, įskaitant maršrutizatorius, komutatorius, ugniasienes bei duomenų srautą tinkle.
  • Technologinio proceso diagrama: versle ir gamyboje blokinės diagramos gali būti naudojamos procesų schemoms kurti. Šios schemos atspindi verslo ar gamybos proceso etapus ir padeda vizualizuoti žingsnių eiliškumą, sprendimų taškus bei valdymo eigą.
  • Elektros sistema: inžinieriai naudoja blokines diagramas elektros sistemoms ir grandinėms pavaizduoti. Jos gali parodyti aukšto lygmens elektros sistemos struktūrą, skirtingų elektros komponentų sąveiką ir elektros srovės tekėjimą.
  • Švietimo tikslai: blokinės diagramos taip pat plačiai naudojamos mokymo medžiagoje, kad būtų supaprastintai paaiškinamos sudėtingos sąvokos ir sistemos. Blokinės diagramos padeda išskaidyti ir vizualizuoti mokslines teorijas, inžinerijos principus ir technines sistemas.

Toliau nuodugniai nagrinėsime, kaip kurti ir valdyti blokines diagramas naudojant Mermaid, apimdami viską nuo pagrindinės sintaksės iki išplėstinės konfigūracijos ir stilių.

Paprasta blokinė diagrama

Pagrindinė struktūra

Blokinę diagramą sudaro blokai, žymintys skirtingus entity ar komponentus; Mermaid aplinkoje blokus galima lengvai kurti naudojant paprastus teksto žymeklius. Paprasčiausia blokinės diagramos forma gali būti blokų seka be jokių jungiamųjų linijų.

Paprastos blokinės diagramos pavyzdys: norėdami sukurti paprastą blokinę diagramą su trimis blokais, pažymėtais a, b ir c, naudokite šią sintaksę:

Kodas
                            
Kopijuoti
Įterpti
block-beta a b c

Šis kodas sugeneruos tris horizontaliai išdėstytus blokus; kiekvienas blokas bus automatiškai išdėstytas ir sulygiuotas, kad būtų užtikrintas geriausias skaitomumas.

Naudojamų stulpelių skaičiaus apibrėžimas

Daugiastulpelinė diagrama

Nors paprasta blokinė diagrama yra linijinė ir paprasta, sudėtingesnėms sistemoms gali prireikti struktūrizuoto išdėstymo. Mermaid leidžia blokus išdėstyti keliuose stulpeliuose, taip padedant kurti sudėtingesnes ir detalesnes diagramas.

Daugiastulpelinės diagramos pavyzdys: kai blokus reikia paskirstyti keliose stulpeliuose, galima nurodyti stulpelių skaičių ir atitinkamai išdėstyti blokus. Štai kaip sukurti blokinę diagramą su trimis stulpeliais ir keturiais blokais, kai ketvirtasis blokas atsiranda antroje eilutėje:

Kodas
                            
Kopijuoti
Įterpti
block-beta columns 3 a b c d

Ši sintaksė Mermaid išdėsto blokus a, b, c ir d trijuose stulpeliuose ir prireikus kelia į kitą eilutę. Ši funkcija ypač naudinga hierarchinėms ar daugiasluoksnėms sistemoms vaizduoti.

Išplėstinė blokų konfigūracija

Mermaid išplėstinė sintaksė suteikia diagramų dizainui daugiau lankstumo ir sudėtingumo, leisdama prisitaikyti prie platesnio naudojimo atvejų ir scenarijų spektro.

Bloko pločio koregavimas

Apima kelis stulpelius

Sudėtingesnėse diagramose gali prireikti blokų, apimančių kelis stulpelius, kad būtų pabrėžti tam tikri komponentai ar pavaizduoti didesni entity. Mermaid leidžia koreguoti bloko plotį, kad jis apimtų kelis stulpelius, taip sustiprinant diagramos skaitomumą ir struktūrą.

Pavyzdys: norėdami sukurti bloką, apimantį du stulpelius, kiekvienam blokui galite nurodyti norimą plotį:

Kodas
                            
Kopijuoti
Įterpti
block-beta columns 3 a["A label"] b:2 c:2 d

Šiame pavyzdyje blokas, pažymėtas A label, užima vieną stulpelį, o blokai b, c apima 2 stulpelius, d priskiriamas savo stulpeliui. Šis blokų dydžio lankstumas yra labai svarbus tiksliai vaizduojant sistemas su skirtingos svarbos ar dydžio komponentais.

Sudėtinio bloko kūrimas

Įdėtieji blokai

Sudėtiniai blokai leidžia pavaizduoti įdėtąsias ar hierarchines sistemas, kai vienas komponentas apima kelis subkomponentus.

Pavyzdys: kuriant sudėtinį bloką, apibrėžiamas tėvinis blokas, o tada jame įdedami vaikiniai blokai. Štai sintaksė, kaip apibrėžti sudėtinį bloką su įdėtaisiais elementais:

Kodas
                            
Kopijuoti
Įterpti
block-beta block D end A["A: I am a wide one"]

Šioje sintaksėje D yra vaikinis blokas, įdėtas į didesnį tėvinį bloką. Ši funkcija ypač naudinga sudėtingoms struktūroms aprašyti, pavyzdžiui, serveriui su keliomis paslaugomis arba padaliniui didesnėje organizacijos struktūroje.

Automatinis stulpelio plotis

Pločio koregavimas

Mermaid leidžia dinamiškai koreguoti stulpelio plotį pagal bloko turinį. Stulpelio plotį nustato plačiausias stulpelio blokas, užtikrinant, kad diagrama išliktų subalansuota ir skaitoma.

Pavyzdys: diagramoje su skirtingo dydžio blokais Mermaid automatiškai pakoreguoja stulpelio plotį, kad jis atitiktų didžiausią bloką kiekviename stulpelyje.

Kodas
                            
Kopijuoti
Įterpti
block-beta columns 3 a:3 block:group1:2 columns 2 h i j k end g block:group2:3 %% columns auto (default) l m n o p q r end

Čia parodyta, kaip Mermaid dinamiškai koreguoja stulpelio plotį, kad jis atitiktų plačiausią bloką.

Horizontalus blokų sujungimas: kai blokus reikia sukrauti horizontaliai, užduotį galima atlikti naudojant stulpelio plotį. Štai blokinės diagramos sintaksė, kaip sukurti 4 blokus, sukrautus kartu:

Kodas
                            
Kopijuoti
Įterpti
block-beta block columns 1 a["A label"] b c d end

Šiame pavyzdyje sujungto bloko plotis automatiškai pakoreguojamas pagal didžiausio vaikinio bloko plotį.

Blokų rūšys ir formos

Mermaid blokinės diagramos neapsiriboja standartine stačiakampio forma. Mermaid siūlo įvairias blokų formas, leidžiančias subtiliau ir individualiau vaizduoti skirtingų tipų informaciją ar entity.

Standartinės blokų formos

Stačiakampis su užapvalintais kampais

Sukuria stačiakampį su užapvalintais kampais; jis gali būti naudojamas minkštesniems ar lankstesniems komponentams žymėti:

Kodas
                            
Kopijuoti
Įterpti
block-beta id1("This is the text in the box")

Stadiono forma

Stadiono formos blokas gali būti naudojamas į procesą orientuotiems komponentams žymėti:

Kodas
                            
Kopijuoti
Įterpti
block-beta id1(["This is the text in the box"])

Paprogramės forma

Naudojamas paprogramei ar įtrauktam procesui žymėti; vaizduojamas stačiakampiu bloku su dviem vertikaliomis linijomis:

Kodas
                            
Kopijuoti
Įterpti
block-beta id1[["This is the text in the box"]]

Cilindro forma

Cilindro forma puikiai tinka duomenų bazei ar saugyklos komponentui žymėti:

Kodas
                            
Kopijuoti
Įterpti
block-beta id1[("Database")]

Apskritimas

Apskritimas gali būti naudojamas centralizuotam ar svarbiam komponentui žymėti:

Kodas
                            
Kopijuoti
Įterpti
block-beta id1(("This is the text in the circle"))

Asimetrinė forma, rombas ir šešiakampis

Sprendimams naudokite rombą, o unikaliems ar specializuotiems procesams galima naudoti asimetrinę formą ir šešiakampį:

Asimetrinė forma
Kodas
                            
Kopijuoti
Įterpti
block-beta id1>"This is the text in the box"]
Rombas
Kodas
                            
Kopijuoti
Įterpti
block-beta id1{"This is the text in the box"}
Šešiakampis
Kodas
                            
Kopijuoti
Įterpti
block-beta id1{{"This is the text in the box"}}

Lygiagretainis ir trapecija

Lygiagretainis ir trapecija puikiai tinka įvesties / išvesties ir pereinamiesiems procesams

Kodas
                            
Kopijuoti
Įterpti
block-beta id1[/"This is the text in the box"/] id2["This is the text in the box"] A[/"Christmas"] B["Go shopping"/]

Dvigubas apskritimas

Norint paryškinti svarbius ar aukšto prioriteto komponentus, veiksminga naudoti dvigubą apskritimą:

Kodas
                            
Kopijuoti
Įterpti
block-beta id1((("This is the text in the circle")))

Rodyklės blokas ir tuščias blokas

Rodyklės blokas

Bloko rodyklė gali vaizdžiai parodyti kryptį ar srautą procese:

Kodas
                            
Kopijuoti
Įterpti
block-beta blockArrowId<["Label"]>(right) blockArrowId2<["Label"]>(left) blockArrowId3<["Label"]>(up) blockArrowId4<["Label"]>(down) blockArrowId5<["Label"]>(x) blockArrowId6<["Label"]>(y) blockArrowId6<["Label"]>(x, down)

Tuščias blokas

Tuščias blokas gali būti naudojamas tarpui sukurti; tai naudinga išdėstymui ir skaitomumui:

Kodas
                            
Kopijuoti
Įterpti
block-beta columns 3 a space b c d e
Kodas
                            
Kopijuoti
Įterpti
block-beta ida space:3 idb idc

Atkreipkite dėmesį, kad naudodami skaitinį simbolį space:num galite nustatyti, kiek stulpelių užima tuščias blokas; num nurodo stulpelio plotį. Taip pat galite naudoti space; numatytoji reikšmė – vienas stulpelis.

Standartinės ir specialiosios formos Mermaid aplinkoje sustiprina blokinės diagramos raiškos galimybes, leisdamos tiksliau ir labiau kontekstualiai vaizduoti.

Blokų jungimas linijomis

Vienas pagrindinių Mermaid blokinės diagramos bruožų – galimybė jungti atskirus blokus įvairių tipų linijomis ar jungtimis.

Pagrindinės jungtys ir rodyklių tipai

Blokams jungti reikia rodyklių arba linijų. Šios jungtys aprašo blokų tarpusavio ryšius ar informacijos srautus. Mermaid siūlo įvairius rodyklių tipus, tenkinančius skirtingus diagramų poreikius.

Pagrindinė jungtis

Sukurkite paprastą jungtį su rodykle, rodančią kryptį ar srautą nuo vieno bloko iki kito:

Kodas
                            
Kopijuoti
Įterpti
block-beta A space B A-->B

Šis pavyzdys iliustruoja tiesioginę jungtį nuo bloko A iki bloko B.

Tekstas ant jungties

Be blokų jungimo dažnai dar reikia aprašyti ar pažymėti ryšį. Mermaid leidžia pridėti teksto ant jungties, suteikiant jungčiai kontekstą.

Norėdami pridėti teksto ant jungties, įtraukite tą tekstą į jungties apibrėžimą:

Kodas
                            
Kopijuoti
Įterpti
block-beta A space:2 B A-- "X" -->B
Kraštai ir stilius:
Kodas
                            
Kopijuoti
Įterpti
block-beta columns 1 db(("DB")) blockArrowId6<["   "]>(down) block:ID A B["A wide one in the middle"] C end space D ID --> D C --> D style B fill:pink,stroke:#333,stroke-width:4px

Stilius ir tinkinimas

Be blokinės diagramos struktūros ir išdėstymo, Mermaid siūlo daugybę stiliaus parinkčių; šios tinkinimo funkcijos leidžia kurti vaizdžiai išskirtinesnes ir informatyvesnes diagramas.

Atskiro bloko stilius

Mermaid leidžia detaliai stilizuoti atskirus blokus; galite pritaikyti įvairias CSS savybes, pavyzdžiui, spalvą, kontūrą ir rėmelio storį.

Tinkintas atskiro bloko stilius

Norėdami blokui pritaikyti tinkintą stilių, galite naudoti style sintaksę, po kurios eina bloko identifikatorius ir norimos CSS savybės:

Kodas
                            
Kopijuoti
Įterpti
block-beta id1 space id2 id1("Start")-->id2("Stop") style id1 fill:pink,stroke:#333,stroke-width:4px style id2 fill:#bbf,stroke:#f66,stroke-width:2px,color:#fff,stroke-dasharray: 5 5

Klasės stilius

Mermaid palaiko stiliaus taikymą klasėms. Jei norite vieną konkretų stilių rinkinį pritaikyti keliems elementams, naudoti stiliaus nustatymą yra paprasčiau, nes tereikia tuos elementus susieti su viena klase.

Atskiros klasės stiliaus nustatymas

Kodas
                            
Kopijuoti
Įterpti
block-beta A space B A-->B classDef blue fill:pink,stroke:#333,stroke-width:4px; class A blue style B fill:#bbf,stroke:#f66,stroke-width:2px,color:#fff,stroke-dasharray: 5 5

Čia apibrėžiama klasė, pavadinta blue, ir pritaikoma blokui A, o blokui B suteikiamas atskiras stilius.

Naudojimo atvejai

Kai Mermaid blokinės diagramos modulinės diagramos taikomos realiuose scenarijuose, jų universalumas atsiskleidžia visu pajėgumu.

Išsamūs įvairių funkcijų pavyzdžiai

Naudodami struktūros, jungčių ir stiliaus elementus, galime kurti Mermaid blokines diagramas, atliekančias specifinį vaidmenį skirtinguose kontekstuose.

Sistemos architektūra

Toliau pateikiama paprasta programinės įrangos sistemos architektūra su tarpusavyje sujungtais komponentais:

Kodas
                            
Kopijuoti
Įterpti
block-beta columns 3 Frontend blockArrowId6<[" "]>(right) Backend space:2 down<[" "]>(down) Disk left<[" "]>(left) Database[("Database")] classDef front fill:pink,stroke:#333; classDef back fill:#f96,stroke:#333; class Frontend front class Backend,Database back

Šis pavyzdys rodo pagrindinę architektūrą su priekine dalimi, galine dalimi ir duomenų baze; atskiri blokai atvaizduojami skirtingai, kad būtų atskirti skirtingi komponentų tipai.

Verslo procesas

Toliau pateikiamas verslo procesas su sprendimų taškais ir keliais etapais:

Kodas
                            
Kopijuoti
Įterpti
block-beta columns 3 Start(("Start")) space:2 down<[" "]>(down) space:2 Decision{{"Make Decision"}} right<["Yes"]>(right) Process1["Process A"] downAgain<["No"]>(down) space r3<["Done"]>(down) Process2["Process B"] r2<["Done"]>(right) End(("End")) style Start fill:pink; style End fill:pink;

Šie realūs pavyzdžiai pabrėžia Mermaid blokinių diagramų praktinę vertę supaprastinant sudėtingą informaciją ir užtikrinant veiksmingą tarpdisciplininę komunikaciją.

Gedimų šalinimas

Kuriant sudėtingas blokines diagramas Mermaid sintakse kartais kyla iššūkių; čia išvardytos dažnos sintaksės klaidos ir pateikiami patarimai, kaip valdyti sudėtingesnes diagramų struktūras.

Dažnos sintaksės klaidos

Dažnų sintaksės klaidų vengimas yra raktas į sklandų Mermaid blokinių diagramų naudojimą.

Jungties klaida

Naudojant neteisingą jungties sintaksę gali atsirasti netikėtų rezultatų arba sugadinta diagrama:

                            
Kopijuoti
Įterpti
block-beta A - B

Pataisymas: užtikrinkite, kad blokai būtų tinkamai jungiami rodyklėmis (--> arba ---), apibrėžiant jungties kryptį ir tipą. Be to, vienas iš pagrindinių blokinės diagramos principų – suteikti autoriui visišką blokų vietos kontrolę, todėl aukščiau pateiktu atveju tarp blokų reikia pridėti tarpą:

Kodas
                            
Kopijuoti
Įterpti
block-beta A space B A --> B

Stiliaus neatitikimas

Taikant stilių netinkamame kontekste arba naudojant neteisingą sintaksę, gali nepavykti atlikti stilizavimo taip, kaip tikėtasi:

Kodas
                            
Kopijuoti
Įterpti
block-beta A style A fillpink;

Pataisymas: užtikrinkite, kad stiliaus savybės būtų tinkamai atskirtos kableliais, ir naudokite teisingą CSS savybių formatą sintaksei pataisyti:

Kodas
                            
Kopijuoti
Įterpti
block-beta A style A fill:pink,stroke:#333;