एक ब्लॉक डायग्राम एक संरचित लेआउट इंजन है जिसका उपयोग जटिल सॉफ्टवेयर आर्किटेक्चर, हार्डवेयर प्लेटफॉर्म या संगठनात्मक मॉडल का प्रतिनिधित्व करने के लिए किया जाता है। मेरमाइड.जीएस में नाती रूप से पेश किया गया, यहब्लॉकइंजन लेआउट कैनवास को एक निरपेक्ष गणितीय ग्रिड मैट्रिक्स के रूप में संभालता है। इससे कॉलम संरेखण, अलगाव लेआउट नेस्टिंग सीमाओं, संरचनात्मक स्पेसिंग ब्लॉक्स और स्पष्ट एज पोर्ट लिंकिंग कॉन्फ़िगरेशन्स पर सटीक नियंत्रण मिलता है।
ग्रिड मैट्रिक्स रणनीति को समझना
मानक फ्री-फॉर्म फ्लोचार्ट्स के विपरीत जो लेआउट ट्रैक्स को डायनामिक रूप से अनुमानित करते हैं, एक ब्लॉक डायग्राम एक कठोर रैखिक निर्देशांक ग्रिड प्रणाली पर आधारित होता है:
- कॉलम प्रावधान: आप एक सख्त क्षैतिज छत को उपयोग करके सेट करते हैं
कॉलममॉडिफायर। जब ग्रिड ब्लॉक्स से भर जाता है, तो अतिरिक्त तत्व स्वचालित रूप से अगली पंक्ति में स्पष्ट रूप से लपेट जाते हैं। - ग्रिड फील्ड्स द्वारा आकार निर्धारण: डिफ़ॉल्ट रूप से, प्रत्येक ब्लॉक एक एकल निर्देशांक स्लॉट ($1 times 1$) लेता है। आप इस व्यवहार को बदल सकते हैं ब्लॉक्स को बहुत से ट्रैक्स के आसपास पूरी तरह से फैलाने के लिए स्पष्ट कॉलम चौड़ाई निर्दिष्ट करके।
बेसिक सिंटैक्स संरचना
प्रत्येक लेआउट के साथ शुरू होता हैब्लॉकघोषणा हेडर। इसके बाद रो चौड़ाई क्षमता को निर्धारित करने के लिएकॉलमकीवर्ड और क्रमागत पंक्तियों पर ब्लॉक्स की घोषणा करना।
ब्लॉक
कॉलम 3
कंपोनेंटए["पहला ब्लॉक"]
कंपोनेंटबी["मध्य ब्लॉक"]
कंपोनेंटसी["दाहिना ब्लॉक"] ![]()
सिंटैक्स संदर्भ
नीचे दी गई तालिका बेसिक डेटा पैरामीटर्स, कस्टम स्टाइलिंग कीवर्ड्स और संरचनात्मक कंटेनर्स के विश्लेषण करती है जिन्हें ब्लॉक इंटरप्रेटर नाती रूप से पहचानता है।
| सिंटैक्स कंपोनेंट | प्रकार आवश्यकता | विवरण और दृश्य लेआउट नियम |
|---|---|---|
| घोषणा | कीवर्ड पहचानकर्ता | मैट्रिक्स ग्रिड ब्लॉक कैनवास को इनिशियलाइज करता है। बिल्कुल सटीक उपयोग करना चाहिएब्लॉक हेडर स्ट्रिंग। |
| कॉलम सेट | कीवर्ड + पूर्णांक | पंक्तियों के लिए लपेटने से पहले कुल क्षैतिज स्लॉट गिनती को परिभाषित करता है (उदाहरण के लिए, कॉलम 4). |
| मानक ब्लॉक | आईडी + वैकल्पिक लेबल | एक मानक डेटा बॉक्स बनाता है: आईडी["लेबल पाठ"]. आकृति डिकोरेटर फ्लोचार्ट सिंटैक्स के अनुरूप होते हैं (उदाहरण के लिए, (()) गोलों के लिए, [()] डेटाबेस के लिए)। |
| ब्लॉक आयाम ओवरराइड | कोलन पैरामीटर ब्लॉक | कस्टमाइज्ड कॉलम चौड़ाई ब्लॉक निर्दिष्ट रूप से निर्धारित करके डिफ़ॉल्ट $1 times 1$ लेआउट स्केल ग्रिड फुटप्रिंट को ओवरराइड करता है: आईडी:चौड़ाई. |
| स्पेस तत्व | आरक्षित कीवर्ड | सटीक स्पेस कीवर्ड का उपयोग करके सक्रिय पंक्ति में एक अदृश्य, संरचनात्मक $1 times 1$ खाली स्पेसिंग टाइल सम्मिलित करता है। आप लाइन में चौड़ाई स्पैन को गुणा कर सकते हैं जैसे स्पेस:2. |
| ब्लॉक तीर | विशिष्ट एंटिटी आईडी | एक मोटा, संरचित संक्रमण तीर बॉक्स एक ग्रिड स्लॉट के अंदर दर्शाता है: तीरId<["लेबल"]>(दिशा). दिशाएँ शामिल हैं ऊपर, नीचे, बाएं, दाएं. |
| संयुक्त लपेट | ब्लॉक / अंत संग्रह | एक स्वतंत्र अलगाव उप-ग्रिड मैट्रिक्स को सीधे एक मातृ ब्लॉक स्लॉट के अंदर निर्मित करता है: ब्लॉक:SubID ... अंत. उप-ब्लॉक अपनी स्वतंत्र कॉलम सीमाएँ घोषित कर सकते हैं। |
उन्नत विशेषता: स्पष्ट ब्लॉक आयाम और स्थान संशोधक
असममित लेआउट के लिए, आप एक दांते निर्देशक से मानक ब्लॉक या स्थान विभाजक पर सीधे स्पष्ट क्षैतिज आकार माप दे सकते हैं (:चौड़ाई). इससे तत्वों को बिना गड़बड़ी के कई ग्रिड स्थानों पर फैलने के लिए मजबूर किया जाता है।
ब्लॉक
कॉलम 4
वाइडकॉम्पोनेंट["वाइड डैशबोर्ड हेडर"]:4
लेफ्टबार["साइडबार"] स्पेस:2 राइटबार["मुख्य पैनल"] 
उन्नत विशेषता: किनारे प्रकार, दिशाएँ और लिंक विकल्प
के भीतर संबंध ब्लॉकइंजन में विभाजित मानक अर्थपूर्ण रेखाओं और संरचनात्मक लेआउट ब्लॉक तीरों में। मानक संबंध रेखाएँ निर्दिष्ट दिशात्मक सीमाओं को निर्दिष्ट करने के लिए समर्थन करती हैं ताकि रेखाएँ तत्वों के चारों ओर कैसे घूमती हैं।
1. मानक लाइन कनेक्टर
ब्लॉक संबंध मानक लिंक ऑपरेटरों का उपयोग करते हैं (-->, --, <-->). हालांकि, आप कोष्ठक के भीतर दिशानिर्देशों या संशोधकों को जोड़कर रूटिंग को नियंत्रित कर सकते हैं:
A --> B: तत्व A से तत्व B तक एक मानक दिशात्मक रेखा खींचता है।A -- x B: एक ब्लॉक किए गए पथ को इंगित करने वाले “X” चिह्न द्वारा समाप्त होने वाले संबंध मार्ग को खींचता है।A -- o B: एक खुले वृत्ताकार कनेक्टर बिंदु के साथ समाप्त होने वाले संबंध मार्ग को खींचता है।
2. डायनामिक लेआउट ब्लॉक तीर
ब्लॉक तीरों को वास्तविक लेआउट घटकों के रूप में माना जाता है जो आपके पंक्ति बजट मैट्रिक्स में वास्तविक निर्देशांक सूचकांक ब्लॉक घेरते हैं। उनका भौतिक प्रवाह मार्गों को मानचित्रित करने के लिए बड़े-से-बड़ा और छोटे-से-छोटा सिंटैक्स गुणों का उपयोग किया जाता है:
ब्लॉक
कॉलम 3
उत्पादक["डेटा उत्पादक"]
मिडएरो<["ट्रांसफॉर्म ट्रैफिक"]>(दाएं)
उपभोक्ता["डेटा उपभोक्ता"] 
उन्नत विशेषता: सब-ब्लॉक मैट्रिक्स नेस्टिंग (संयुक्त समूहन)
द ब्लॉक:आईडी वापसी एक स्वतंत्र लेआउट बॉक्स संदर्भ वातावरण के रूप में कार्य करता है। एक एप्लिकेशन समूह कंटेनर एक उप-ब्लॉक के भीतर अपनी अद्वितीय क्षैतिज कॉलम संख्या स्थापित कर सकता है, जिससे जटिल घटकों को घनिष्ठ रूप से समूहित किया जा सकता है बिना सार्वभौमिक मातृ कैनवास टेम्पलेट ग्रिड के अंतराल को प्रभावित किए।
ब्लॉक
कॉलम 2
रूटगेटवे["ग्लोबल गेटवे"]
ब्लॉक:माइक्रोसर्विसक्लस्टर
कॉलम 3
सुरक्षा["सुरक्षा नोड"]
एपीआई["कोर एपीआई"]
कार्यकर्ता["कार्यकर्ता इंजन"]
अंत 
वास्तविक दुनिया का नक्शा: कैश के साथ बहु-स्तरीय इंफ्रास्ट्रक्चर
यह व्यापक, बहु-पंक्ति नक्शा एक स्पष्ट उत्पादन-ग्रेड इंफ्रास्ट्रक्चर सेटअप को दर्शाता है। यह 3-कॉलम प्रोसेसिंग ग्रिड लेआउट स्थापित करता है, संरचनात्मक स्थानतत्वों का उपयोग करके डेटाबेस स्तर को अलग करता है, एक मोटी नीचे की ओर ब्लॉक तीर, और एक नेस्टेड का उपयोग करके एक अलग आंतरिक उप-प्रणाली कंटेनर को अलग करता हैब्लॉक:आईडी ... अंत संयुक्त लपेटने वाला।
ब्लॉक
कॉलम 3
%% पंक्ति 1: प्रवेश सेवाएं
dnsClient(("वेब क्लाइंट"))
loadBalancer["एज लोड बैलेंसर"]
स्पेस
%% पंक्ति 2: माइक्रोसर्विसेज की ओर जाने वाला फ्लो जोड़ें
स्पेस
downRoute<["ट्रैफिक फॉरवर्ड"]>(नीचे)
स्पेस
%% पंक्ति 3: संयुक्त एप्लिकेशन पर्यावरण क्लस्टर
ब्लॉक:appCluster
कॉलम 2
authService["प्रमाणीकरण"]
apiEngine["कोर API वर्कर"]
अंत
स्पेस
database[("PostgreSQL DB")]
%% मैट्रिक्स-टू-मैट्रिक्स संरचनात्मक लाइन संरेखण स्थापित करें
loadBalancer --> appCluster
appCluster --> database 
सामान्य सिंटैक्स त्रुटियाँ और प्रणाली सीमाएँ
सटीक ग्रिड मैट्रिक्स मैप बनाते समय, पार्सिंग त्रुटियों से बचने के लिए इन सत्यापन जांचों को ध्यान में रखें:
- कॉलम बजट लागू करना: अपने कॉलम की संख्या का ध्यान से अनुसरण करें। यदि आप निर्दिष्ट करते हैं
कॉलम 3और एक पंक्ति पर 4 क्रमिक ब्लॉक लिखते हैं, तो चौथा ब्लॉक स्वचालित रूप से पंक्ति 2 में गिर जाएगा, जिससे अपेक्षित बाएं से दाएं कनेक्शन पथ टूट सकते हैं। - संयुक्त नेस्टिंग क्रम: जब आप
ब्लॉक:आईडीके साथ आंतरिक कंटेनर बनाते समय, आपको हमेशा उप-ग्रिड कार्यक्षेत्र कोअंतकीवर्ड का उपयोग करके एक अलग पंक्ति पर सील करना होगा, जब तक बाद के तत्वों की घोषणा नहीं की जाती। ब्लॉक को बंद न करने से डायग्राम निर्माण रुक जाएगा। - ब्लॉक तीर लक्ष्य सीमाएँ: ब्लॉक तीर के बाद कोष्ठक में बंद दिशा प्रॉपर्टी (उदाहरण के लिए,
(ऊपर),(नीचे)) को पूरी तरह से प्रणाली कीवर्ड्स के साथ मेल खाने वाला छोटे अक्षरों वाला लिटरल होना चाहिए। दिशा को बड़े अक्षरों में लिखने से प्रोसेसिंग त्रुटियाँ हो जाएंगी। - लेबल सीमा टकराव: मानक फ्लोचार्ट आकृति डिकोरेटर्स (जैसे कोष्ठक
()गोल बॉक्स के लिए या कर्ली ब्रेसेज{}डायमंड्स) का पूरी तरह से समर्थन किया जाता है। सुनिश्चित करें कि आकृतियों के भीतर सभी प्रदर्शन टेक्स्ट लेबल साफ डबल कोट्स का उपयोग करें ताकि अक्षरों के काटे जाने से बचा जा सके।