{"id":2106,"date":"2026-05-26T08:05:43","date_gmt":"2026-05-26T08:05:43","guid":{"rendered":"https:\/\/www.vpascode.com\/vn\/docs\/uncategorized\/mermaid-js-class-diagram-syntax-guide\/"},"modified":"2026-05-26T08:05:43","modified_gmt":"2026-05-26T08:05:43","slug":"mermaid-js-class-diagram-syntax-guide","status":"publish","type":"ld_docs","link":"https:\/\/www.vpascode.com\/vn\/docs\/vpascode-docs\/mermaid-js-class-diagram-syntax-guide\/","title":{"rendered":"H\u01b0\u1edbng d\u1eabn c\u00fa ph\u00e1p s\u01a1 \u0111\u1ed3 l\u1edbp Mermaid.js"},"content":{"rendered":"<h2>S\u01a1 \u0111\u1ed3 l\u1edbp l\u00e0 g\u00ec?<\/h2>\n<p>M\u1ed9t <strong>S\u01a1 \u0111\u1ed3 l\u1edbp<\/strong> l\u00e0 m\u1ed9t <strong>s\u01a1 \u0111\u1ed3 UML<\/strong> gi\u00fap tr\u1ef1c quan h\u00f3a ki\u1ebfn tr\u00fac t\u0129nh c\u1ee7a m\u1ed9t h\u1ec7 th\u1ed1ng ph\u1ea7n m\u1ec1m h\u01b0\u1edbng \u0111\u1ed1i t\u01b0\u1ee3ng. L\u00e0 m\u1ed9t lo\u1ea1i s\u01a1 \u0111\u1ed3 UML kh\u00f4ng th\u1ec3 thi\u1ebfu,<strong>lo\u1ea1i s\u01a1 \u0111\u1ed3 UML<\/strong>, n\u00f3 m\u00f4 t\u1ea3 c\u00e1c l\u1edbp, giao di\u1ec7n v\u00e0 m\u00f4 h\u00ecnh d\u1eef li\u1ec7u ri\u00eang l\u1ebb trong \u1ee9ng d\u1ee5ng c\u1ee7a b\u1ea1n, ghi r\u00f5 c\u00e1c tr\u01b0\u1eddng n\u1ed9i b\u1ed9 (thu\u1ed9c t\u00ednh), c\u00e1c ch\u1ee9c n\u0103ng ho\u1ea1t \u0111\u1ed9ng (ph\u01b0\u01a1ng th\u1ee9c) v\u00e0 c\u00e1c m\u1ed1i quan h\u1ec7 c\u1ea5u tr\u00fac k\u1ebft n\u1ed1i ch\u00fang l\u1ea1i v\u1edbi nhau. B\u1ea3n v\u1ebd n\u00e0y r\u1ea5t quan tr\u1ecdng \u0111\u1ed1i v\u1edbi c\u00e1c k\u1ef9 s\u01b0 ph\u1ea7n m\u1ec1m c\u1ea7n chuy\u1ec3n \u0111\u1ed5i c\u00e1c thi\u1ebft k\u1ebf mi\u1ec1n c\u1ea5p cao th\u00e0nh c\u00e1c c\u1ea5u tr\u00fac \u0111\u1ed1i t\u01b0\u1ee3ng s\u1ea1ch s\u1ebd, d\u1ec5 b\u1ea3o tr\u00ec.<\/p>\n<p>V\u1edbi <strong>Mermaid.js<\/strong>, b\u1ea1n c\u00f3 th\u1ec3 ph\u00e1c th\u1ea3o c\u00e1c m\u00f4 h\u00ecnh d\u1eef li\u1ec7u v\u00e0 d\u1ecbch v\u1ee5 h\u1ec7 th\u1ed1ng b\u1eb1ng c\u00e1c \u0111\u1ecbnh ngh\u0129a tr\u1ef1c quan, d\u1ef1a tr\u00ean v\u0103n b\u1ea3n. B\u1ed9 \u0111\u1ed9ng l\u1ef1c b\u1ed1 c\u1ee5c t\u1ef1 \u0111\u1ed9ng t\u00ednh to\u00e1n k\u00edch th\u01b0\u1edbc h\u1ed9p, c\u1ea5u tr\u00fac c\u00e1c ng\u0103n d\u1eef li\u1ec7u UML chu\u1ea9n, v\u00e0 c\u0103n ch\u1ec9nh c\u00e1c m\u0169i t\u00ean quan h\u1ec7 tr\u00ean b\u1ea3ng v\u1ebd c\u1ee7a b\u1ea1n m\u00e0 kh\u00f4ng c\u1ea7n b\u1ea5t k\u1ef3 thao t\u00e1c \u0111\u1ecbnh d\u1ea1ng th\u1ee7 c\u00f4ng n\u00e0o.<\/p>\n<h2>H\u01b0\u1edbng d\u1eabn c\u00fa ph\u00e1p c\u1ed1t l\u00f5i: C\u00e1c th\u00e0nh ph\u1ea7n v\u00e0 c\u1ea5u tr\u00fac<\/h2>\n<p>\u0110\u1ec3 thi\u1ebft k\u1ebf m\u1ed9t s\u01a1 \u0111\u1ed3 l\u1edbp UML ch\u00ednh x\u00e1c, tu\u00e2n th\u1ee7 chu\u1ea9n trong Mermaid, b\u1ea1n ph\u1ea3i th\u00e0nh th\u1ea1o c\u00e1c khai b\u00e1o th\u00e0nh vi\u00ean, c\u00e1c b\u1ed9 s\u1eeda truy c\u1eadp v\u00e0 c\u00e1c m\u0169i t\u00ean m\u1ed1i quan h\u1ec7 c\u1ea5u tr\u00fac.<\/p>\n<h3>1. Khai b\u00e1o l\u1edbp v\u00e0 c\u00e1c ng\u0103n l\u1edbp<\/h3>\n<p>B\u1ea1n c\u00f3 th\u1ec3 \u0111\u1ecbnh ngh\u0129a m\u1ed9t l\u1edbp b\u1eb1ng hai \u0111\u1ecbnh d\u1ea1ng h\u1ee3p l\u1ec7. \u0110\u1ed1i v\u1edbi m\u1ed9t l\u1edbp \u0111\u01a1n gi\u1ea3n, h\u00e3y s\u1eed d\u1ee5ng t\u1eeb kh\u00f3a <code>class<\/code>k\u00e8m theo t\u00ean l\u1edbp. N\u1ebfu b\u1ea1n mu\u1ed1n bao g\u1ed3m c\u00e1c tr\u01b0\u1eddng v\u00e0 ph\u01b0\u01a1ng th\u1ee9c ngay l\u1eadp t\u1ee9c, h\u00e3y s\u1eed d\u1ee5ng d\u1ea5u ngo\u1eb7c nh\u1ecdn \u1edf cu\u1ed1i \u0111\u1ec3 t\u1ea1o kh\u1ed1i th\u00e2n r\u00f5 r\u00e0ng:<\/p>\n<div class=\"vpascode-viewer-container vpascode-fancy-active\">\n<div class=\"vpascode-header\">\n<span class=\"vpascode-lang-label\">Mermaid<\/span><br \/>\n<a class=\"vpascode-fancy-btn\" href=\"https:\/\/www.vpascode.com\/editor\/#mermaid:eNpLzkksLnbJTEwvSszl5VIAgmSQiEJocWpRQFF+WmZOqkI1RAIEtINLijLz0hVKgdJ5ibmpmDKpuYmZOUjCpQUpiSWpriBRjbzUcjBDU6EsPzMFoqgWAOaDJdQ=\" rel=\"noopener noreferrer\" target=\"_blank\"><br \/>\n<svg fill=\"none\" height=\"14\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2.5\" style=\"margin-right: 8px;\" viewbox=\"0 0 24 24\" width=\"14\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg><br \/>\n<span>Ch\u1ec9nh s\u1eeda Mermaid trong VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<div class=\"vpascode-code-wrapper\">\n            <div class=\"vpascode-viewer-container vpascode-fancy-active\">\r\n                                <div class=\"vpascode-header\">\r\n                    <span class=\"vpascode-lang-label\">Mermaid<\/span>\r\n                    <a href=\"https:\/\/www.vpascode.com\/editor\/#mermaid:eNpLzkksLnbJTEwvSszl5VIAgmSQiEJocWpRQFF+WmZOqkI1RAIEtINLijLz0hVKgdJ5ibmpmDKpuYmZOUjCpQUpiSWpriBRjbzUcjBDU6EsPzMFoqgWAOaDJdQ=\" \r\n                       target=\"_blank\" \r\n                       rel=\"noopener noreferrer\" \r\n                       class=\"vpascode-fancy-btn\">\r\n                        <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"margin-right: 8px;\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg>\r\n                        <span>Edit Mermaid in VPasCode<\/span>\r\n                    <\/a>\r\n                <\/div>\r\n                                <div class=\"vpascode-code-wrapper\">\r\n                    <pre class=\"lang-mermaid\"><code class=\"language-mermaid\" data-language=\"mermaid\" class=\"language-mermaid\">classDiagram\r\n    class UserProfile {\r\n        +String username\r\n        +String email\r\n        +updateEmail(newEmail) void\r\n    }<\/code><\/pre>                <\/div>\r\n                <div class=\"vpascode-actions\">\r\n                    <a href=\"https:\/\/www.vpascode.com\/editor\/#mermaid:eNpLzkksLnbJTEwvSszl5VIAgmSQiEJocWpRQFF+WmZOqkI1RAIEtINLijLz0hVKgdJ5ibmpmDKpuYmZOUjCpQUpiSWpriBRjbzUcjBDU6EsPzMFoqgWAOaDJdQ=\" \r\n                       target=\"_blank\" \r\n                       rel=\"noopener noreferrer\" \r\n                       class=\"vpascode-fancy-btn\">\r\n                        <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"margin-right: 6px;\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg>\r\n                        <span>Edit Mermaid in VPasCode<\/span>\r\n                    <\/a>\r\n                <\/div>\r\n            <\/div>\r\n            \n<\/p><\/div>\n<div class=\"vpascode-actions\">\n<a class=\"vpascode-fancy-btn\" href=\"https:\/\/www.vpascode.com\/editor\/#mermaid:eNpLzkksLnbJTEwvSszl5VIAgmSQiEJocWpRQFF+WmZOqkI1RAIEtINLijLz0hVKgdJ5ibmpmDKpuYmZOUjCpQUpiSWpriBRjbzUcjBDU6EsPzMFoqgWAOaDJdQ=\" rel=\"noopener noreferrer\" target=\"_blank\"><br \/>\n<svg fill=\"none\" height=\"14\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2.5\" style=\"margin-right: 6px;\" viewbox=\"0 0 24 24\" width=\"14\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg><br \/>\n<span>Ch\u1ec9nh s\u1eeda Mermaid trong VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<\/div>\n<p id=\"QKYoRec\"><img fetchpriority=\"high\" alt=\"\" class=\"alignnone size-full wp-image-618\" decoding=\"async\" fetchpriority=\"high\" height=\"184\" sizes=\"(max-width: 303px) 100vw, 303px\" src=\"https:\/\/www.vpascode.com\/wp-content\/uploads\/2026\/05\/img_6a19030c532c9.png\" srcset=\"https:\/\/www.vpascode.com\/wp-content\/uploads\/2026\/05\/img_6a19030c532c9.png 303w, https:\/\/www.vpascode.com\/wp-content\/uploads\/2026\/05\/img_6a19030c532c9-300x182.png 300w\" width=\"303\"\/><\/p>\n<h3>2. Th\u00eam c\u00e1c b\u1ed9 s\u1eeda m\u1ee9c \u0111\u1ed9 truy c\u1eadp \/ quy\u1ec1n truy c\u1eadp<\/h3>\n<p>\u0110\u1ec3 ghi ch\u00fa c\u00e1c quy t\u1eafc \u0111\u00f3ng g\u00f3i UML chu\u1ea9n, h\u00e3y \u0111\u1eb7t m\u1ed9t k\u00fd hi\u1ec7u c\u1ee5 th\u1ec3 ngay tr\u01b0\u1edbc t\u00ean thu\u1ed9c t\u00ednh ho\u1eb7c ph\u01b0\u01a1ng th\u1ee9c \u0111\u1ec3 x\u00e1c \u0111\u1ecbnh m\u1ee9c \u0111\u1ed9 truy c\u1eadp c\u1ee7a n\u00f3:<\/p>\n<ul>\n<li><code>+<\/code> **C\u00f4ng khai:** C\u00f3 th\u1ec3 truy c\u1eadp t\u1eeb b\u1ea5t k\u1ef3 l\u1edbp n\u00e0o kh\u00e1c.<\/li>\n<li><code>-<\/code> **Ri\u00eang t\u01b0:** Ch\u1ec9 c\u00f3 th\u1ec3 truy c\u1eadp b\u00ean trong l\u1edbp khai b\u00e1o.<\/li>\n<li><code>#<\/code> **B\u1ea3o v\u1ec7:** C\u00f3 th\u1ec3 truy c\u1eadp trong l\u1edbp v\u00e0 c\u00e1c l\u1edbp con c\u1ee7a n\u00f3.<\/li>\n<li><code>~<\/code> **G\u00f3i \/ N\u1ed9i b\u1ed9:** C\u00f3 th\u1ec3 truy c\u1eadp trong gi\u1edbi h\u1ea1n c\u00f9ng g\u00f3i.<\/li>\n<\/ul>\n<div class=\"vpascode-viewer-container vpascode-fancy-active\">\n<div class=\"vpascode-header\">\n<span class=\"vpascode-lang-label\">Mermaid<\/span><br \/>\n<a class=\"vpascode-fancy-btn\" href=\"https:\/\/www.vpascode.com\/editor\/#mermaid:eNpLzkksLnbJTEwvSszl5VIAgmSQiIJTYl62Y3JyfmleiUI1RAIEdFPyS5NyUhWSEnMS85JTERLKwSVFmXnpCokQPR75OSmpRQhp7fTUEieIHg1NBYghENlaANmyJWY=\" rel=\"noopener noreferrer\" target=\"_blank\"><br \/>\n<svg fill=\"none\" height=\"14\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2.5\" style=\"margin-right: 8px;\" viewbox=\"0 0 24 24\" width=\"14\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg><br \/>\n<span>Ch\u1ec9nh s\u1eeda Mermaid trong VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<div class=\"vpascode-code-wrapper\">\n            <div class=\"vpascode-viewer-container vpascode-fancy-active\">\r\n                                <div class=\"vpascode-header\">\r\n                    <span class=\"vpascode-lang-label\">Mermaid<\/span>\r\n                    <a href=\"https:\/\/www.vpascode.com\/editor\/#mermaid:eNpLzkksLnbJTEwvSszl5VIAgmSQiIJTYl62Y3JyfmleiUI1RAIEdFPyS5NyUhWSEnMS85JTERLKwSVFmXnpCokQPR75OSmpRQhp7fTUEieIHg1NBYghENlaANmyJWY=\" \r\n                       target=\"_blank\" \r\n                       rel=\"noopener noreferrer\" \r\n                       class=\"vpascode-fancy-btn\">\r\n                        <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"margin-right: 8px;\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg>\r\n                        <span>Edit Mermaid in VPasCode<\/span>\r\n                    <\/a>\r\n                <\/div>\r\n                                <div class=\"vpascode-code-wrapper\">\r\n                    <pre class=\"lang-mermaid\"><code class=\"language-mermaid\" data-language=\"mermaid\" class=\"language-mermaid\">classDiagram\r\n    class BankAccount {\r\n        -double balance\r\n        #String accountHolder\r\n        +getBalance() double\r\n    }<\/code><\/pre>                <\/div>\r\n                <div class=\"vpascode-actions\">\r\n                    <a href=\"https:\/\/www.vpascode.com\/editor\/#mermaid:eNpLzkksLnbJTEwvSszl5VIAgmSQiIJTYl62Y3JyfmleiUI1RAIEdFPyS5NyUhWSEnMS85JTERLKwSVFmXnpCokQPR75OSmpRQhp7fTUEieIHg1NBYghENlaANmyJWY=\" \r\n                       target=\"_blank\" \r\n                       rel=\"noopener noreferrer\" \r\n                       class=\"vpascode-fancy-btn\">\r\n                        <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"margin-right: 6px;\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg>\r\n                        <span>Edit Mermaid in VPasCode<\/span>\r\n                    <\/a>\r\n                <\/div>\r\n            <\/div>\r\n            \n<\/p><\/div>\n<div class=\"vpascode-actions\">\n<a class=\"vpascode-fancy-btn\" href=\"https:\/\/www.vpascode.com\/editor\/#mermaid:eNpLzkksLnbJTEwvSszl5VIAgmSQiIJTYl62Y3JyfmleiUI1RAIEdFPyS5NyUhWSEnMS85JTERLKwSVFmXnpCokQPR75OSmpRQhp7fTUEieIHg1NBYghENlaANmyJWY=\" rel=\"noopener noreferrer\" target=\"_blank\"><br \/>\n<svg fill=\"none\" height=\"14\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2.5\" style=\"margin-right: 6px;\" viewbox=\"0 0 24 24\" width=\"14\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg><br \/>\n<span>Ch\u1ec9nh s\u1eeda Mermaid trong VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<\/div>\n<p id=\"XgBkvsQ\"><img alt=\"\" class=\"alignnone size-full wp-image-619\" decoding=\"async\" height=\"184\" src=\"https:\/\/www.vpascode.com\/wp-content\/uploads\/2026\/05\/img_6a1903106882d.png\" width=\"249\"\/><\/p>\n<h3>3. Th\u00e0nh th\u1ea1o c\u00e1c m\u0169i t\u00ean quan h\u1ec7 v\u00e0 li\u00ean k\u1ebft k\u1ebf th\u1eeba<\/h3>\n<p>\u0110\u1ec3 th\u1ec3 hi\u1ec7n c\u00e1ch c\u00e1c l\u1edbp t\u01b0\u01a1ng t\u00e1c trong m\u00f4 h\u00ecnh s\u01a1 \u0111\u1ed3 UML c\u1ee7a b\u1ea1n, h\u00e3y k\u1ebft n\u1ed1i c\u00e1c ID c\u1ee7a ch\u00fang b\u1eb1ng c\u00e1c chu\u1ed7i quan h\u1ec7 chuy\u00ean d\u1ee5ng. Trong Mermaid, h\u01b0\u1edbng c\u1ee7a \u0111\u01b0\u1eddng n\u1ed1i c\u00f3 \u00fd ngh\u0129a: \u0111\u1ea7u m\u0169i t\u00ean ch\u1ec9 v\u1ec1 l\u1edbp cha ho\u1eb7c l\u1edbp ch\u1ee9a.<\/p>\n<ul>\n<li><strong>K\u1ebf th\u1eeba \/ T\u1ed5ng qu\u00e1t h\u00f3a (M\u0169i t\u00ean g\u1ea1ch ho\u1eb7c m\u0169i t\u00ean li\u1ec1n):<\/strong> <code>Child --|&gt; Parent<\/code> (Bi\u1ec3u di\u1ec5n m\u1ed1i quan h\u1ec7 &#8220;l\u00e0 m\u1ed9t&#8221;).<\/li>\n<li><strong>Th\u1ef1c hi\u1ec7n \/ Tri\u1ec3n khai:<\/strong> <code>Class ..|&gt; Interface<\/code> (Bi\u1ec3u di\u1ec5n m\u1ed9t l\u1edbp th\u1ef1c hi\u1ec7n h\u1ee3p \u0111\u1ed3ng giao di\u1ec7n).<\/li>\n<li><strong>Th\u00e0nh ph\u1ea7n (Kim c\u01b0\u01a1ng li\u1ec1n):<\/strong> <code>Child --* Parent<\/code> (Bi\u1ec3u di\u1ec5n quy\u1ec1n s\u1edf h\u1eefu nghi\u00eam ng\u1eb7t; n\u1ebfu cha ch\u1ebft, con c\u0169ng ch\u1ebft).<\/li>\n<li><strong>T\u1ed5ng h\u1ee3p (Kim c\u01b0\u01a1ng trong su\u1ed1t):<\/strong> <code>Child --o Parent<\/code> (Bi\u1ec3u di\u1ec5n m\u1ed1i quan h\u1ec7 t\u1eadp h\u1ee3p l\u1ecfng l\u1ebbo; con c\u00f3 th\u1ec3 t\u1ed3n t\u1ea1i \u0111\u1ed9c l\u1eadp).<\/li>\n<li><strong>Ph\u1ee5 thu\u1ed9c:<\/strong> <code>ClassA ..&gt; ClassB<\/code> (Bi\u1ec3u di\u1ec5n m\u1ed9t tham chi\u1ebfu t\u1ea1m th\u1eddi t\u1ea1i th\u1eddi \u0111i\u1ec3m ch\u1ea1y).<\/li>\n<\/ul>\n<div class=\"vpascode-viewer-container vpascode-fancy-active\">\n<div class=\"vpascode-header\">\n<span class=\"vpascode-lang-label\">Mermaid<\/span><br \/>\n<a class=\"vpascode-fancy-btn\" href=\"https:\/\/www.vpascode.com\/editor\/#mermaid:eNpLzkksLnbJTEwvSszl5VIAAufEIgVd3Ro7hbDUjMzknFQFKwUlz7yM1KLMkmKFtKL8XCWIOte89My8VKBSLbAWkKpihYLEohKF\/DQlAHyeGXI=\" rel=\"noopener noreferrer\" target=\"_blank\"><br \/>\n<svg fill=\"none\" height=\"14\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2.5\" style=\"margin-right: 8px;\" viewbox=\"0 0 24 24\" width=\"14\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg><br \/>\n<span>Ch\u1ec9nh s\u1eeda Mermaid trong VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<div class=\"vpascode-code-wrapper\">\n            <div class=\"vpascode-viewer-container vpascode-fancy-active\">\r\n                                <div class=\"vpascode-header\">\r\n                    <span class=\"vpascode-lang-label\">Mermaid<\/span>\r\n                    <a href=\"https:\/\/www.vpascode.com\/editor\/#mermaid:eNpLzkksLnbJTEwvSszl5VIAAufEIgVd3Ro7hbDUjMzknFQFKwUl74e79iuUZDzcvTpRoQRIKkGUuualZ+alAlVrgXUBFfocXqCQ+3D3zBKFgoyHu5bnKSQ\/3L08UQkAB60lqA==\" \r\n                       target=\"_blank\" \r\n                       rel=\"noopener noreferrer\" \r\n                       class=\"vpascode-fancy-btn\">\r\n                        <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"margin-right: 8px;\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg>\r\n                        <span>Edit Mermaid in VPasCode<\/span>\r\n                    <\/a>\r\n                <\/div>\r\n                                <div class=\"vpascode-code-wrapper\">\r\n                    <pre class=\"lang-mermaid\"><code class=\"language-mermaid\" data-language=\"mermaid\" class=\"language-mermaid\">classDiagram\r\n    Car --|&gt; Vehicle : \"K\u1ebf th\u1eeba t\u1eeb\"\r\n    Engine --* Car : \"L\u00e0 m\u1ed9t ph\u1ea7n c\u1ee7a\"<\/code><\/pre>                <\/div>\r\n                <div class=\"vpascode-actions\">\r\n                    <a href=\"https:\/\/www.vpascode.com\/editor\/#mermaid:eNpLzkksLnbJTEwvSszl5VIAAufEIgVd3Ro7hbDUjMzknFQFKwUl74e79iuUZDzcvTpRoQRIKkGUuualZ+alAlVrgXUBFfocXqCQ+3D3zBKFgoyHu5bnKSQ\/3L08UQkAB60lqA==\" \r\n                       target=\"_blank\" \r\n                       rel=\"noopener noreferrer\" \r\n                       class=\"vpascode-fancy-btn\">\r\n                        <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"margin-right: 6px;\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg>\r\n                        <span>Edit Mermaid in VPasCode<\/span>\r\n                    <\/a>\r\n                <\/div>\r\n            <\/div>\r\n            \n<\/p><\/div>\n<div class=\"vpascode-actions\">\n<a class=\"vpascode-fancy-btn\" href=\"https:\/\/www.vpascode.com\/editor\/#mermaid:eNpLzkksLnbJTEwvSszl5VIAAufEIgVd3Ro7hbDUjMzknFQFKwUlz7yM1KLMkmKFtKL8XCWIOte89My8VKBSLbAWkKpihYLEohKF\/DQlAHyeGXI=\" rel=\"noopener noreferrer\" target=\"_blank\"><br \/>\n<svg fill=\"none\" height=\"14\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2.5\" style=\"margin-right: 6px;\" viewbox=\"0 0 24 24\" width=\"14\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg><br \/>\n<span>Ch\u1ec9nh s\u1eeda Mermaid trong VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<\/div>\n<p id=\"wCxJKDf\"><img alt=\"\" class=\"alignnone size-full wp-image-620\" decoding=\"async\" height=\"416\" sizes=\"(max-width: 123px) 100vw, 123px\" src=\"https:\/\/www.vpascode.com\/wp-content\/uploads\/2026\/05\/img_6a1903163fbcf.png\" srcset=\"https:\/\/www.vpascode.com\/wp-content\/uploads\/2026\/05\/img_6a1903163fbcf.png 123w, https:\/\/www.vpascode.com\/wp-content\/uploads\/2026\/05\/img_6a1903163fbcf-89x300.png 89w\" width=\"123\"\/><\/p>\n<h2>C\u00e1c th\u1ef1c h\u00e0nh t\u1ed1t nh\u1ea5t cho b\u1ed1 c\u1ee5c ki\u1ebfn tr\u00fac l\u1edbp s\u1ea1ch s\u1ebd<\/h2>\n<ul>\n<li><strong>S\u1eafp x\u1ebfp c\u00e1c th\u00e0nh vi\u00ean l\u1edbp theo h\u00ecnh th\u1ee9c tr\u1ef1c quan:<\/strong> Lu\u00f4n nh\u00f3m c\u00e1c bi\u1ebfn l\u1edbp \u1edf \u0111\u1ea7u kh\u1ed1i th\u00e2n v\u00e0 c\u00e1c h\u00e0m \u1edf cu\u1ed1i. B\u1ed1 c\u1ee5c n\u00e0y ph\u00f9 h\u1ee3p v\u1edbi c\u1ea5u tr\u00fac l\u1edbp ti\u00eau chu\u1ea9n trong IDE v\u00e0 gi\u00fap s\u01a1 \u0111\u1ed3 c\u1ee7a b\u1ea1n d\u1ec5 \u0111\u1ecdc ngay l\u1eadp t\u1ee9c.<\/li>\n<li><strong>X\u00e1c \u0111\u1ecbnh ki\u1ec3u tr\u1ea3 v\u1ec1:<\/strong> Khi khai b\u00e1o ph\u01b0\u01a1ng th\u1ee9c, th\u00eam ki\u1ec3u tr\u1ea3 v\u1ec1 v\u00e0o cu\u1ed1i d\u00f2ng ph\u01b0\u01a1ng th\u1ee9c (v\u00ed d\u1ee5, <code>+fetchData() DataSet<\/code>). \u0110i\u1ec1u n\u00e0y cung c\u1ea5p cho \u0111\u1ed9i ng\u0169 k\u1ef9 thu\u1eadt c\u1ee7a b\u1ea1n b\u1ed1i c\u1ea3nh tri\u1ec3n khai ch\u00ednh x\u00e1c.<\/li>\n<li><strong>Gi\u1eef r\u00f5 r\u00e0ng t\u00ednh \u0111a d\u1ea1ng:<\/strong> \u0110\u1ec3 ch\u1ec9 s\u1ed1 l\u01b0\u1ee3ng m\u1ea3ng ho\u1eb7c k\u00edch th\u01b0\u1edbc b\u1ed9 s\u01b0u t\u1eadp, th\u00eam c\u00e1c chu\u1ed7i v\u0103n b\u1ea3n \u0111a d\u1ea1ng tr\u1ef1c ti\u1ebfp v\u00e0o bao b\u1ecdc d\u00f2ng quan h\u1ec7 (v\u00ed d\u1ee5, <code>Customer \"1\" --o \"many\" Order<\/code>).<\/li>\n<\/ul>\n<h2>V\u00ed d\u1ee5 v\u1ec1 s\u01a1 \u0111\u1ed3 l\u1edbp Mermaid.js trong th\u1ebf gi\u1edbi th\u1ef1c<\/h2>\n<h3>V\u00ed d\u1ee5 1: H\u1ec7 th\u1ed1ng con mi\u1ec1n C\u1ed5ng thanh to\u00e1n (Bao \u0111\u00f3ng &amp; Giao di\u1ec7n)<\/h3>\n<p>B\u1ea3n thi\u1ebft k\u1ebf ch\u1ee9c n\u0103ng n\u00e0y m\u00f4 h\u00ecnh h\u00f3a m\u1ed9t d\u1ecbch v\u1ee5 mi\u1ec1n thanh to\u00e1n tr\u1ef1c tuy\u1ebfn. N\u00f3 minh h\u1ecda c\u00e1ch s\u1eed d\u1ee5ng c\u00e1c b\u1ed9 gi\u1edbi h\u1ea1n truy c\u1eadp, nh\u00f3m c\u00e1c th\u00e0nh vi\u00ean l\u1edbp v\u00e0 tri\u1ec3n khai c\u00e1c m\u1ed1i quan h\u1ec7 giao di\u1ec7n m\u1ed9t c\u00e1ch s\u1ea1ch s\u1ebd.<\/p>\n<div class=\"vpascode-viewer-container vpascode-fancy-active\">\n<div class=\"vpascode-header\">\n<span class=\"vpascode-lang-label\">Mermaid<\/span><br \/>\n<a class=\"vpascode-fancy-btn\" href=\"https:\/\/www.vpascode.com\/editor\/#mermaid:eNq1UUFqw0AMvAfyhyWnhNI8IASfAsX0Ymj7AHVXcRd2pUUrtzVp\/147ToiTlNJLdBzNSDOSDZDzxkMtEKcT05XtEVNBG5G0EraYM4vZDd2+1mtPirIFi0Vxgu\/SQD5I5xC5IV2YV+aAQCOi4LYhd+TpJ5XugvY9nYzdPKn4hA+g+AHt2Mp936HaQPKP2F7jSC5x5\/ZFwm2M7pcFrp8FKINVzzTPCtrkhXln736N0w2sIPwRJ6LYNyAt3Y3Pe37Y5fKruP78yszKmAL2aJ4NuvME\/9H9AGFPu8s=\" rel=\"noopener noreferrer\" target=\"_blank\"><br \/>\n<svg fill=\"none\" height=\"14\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2.5\" style=\"margin-right: 8px;\" viewbox=\"0 0 24 24\" width=\"14\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg><br \/>\n<span>Ch\u1ec9nh s\u1eeda Mermaid trong VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<div class=\"vpascode-code-wrapper\">\n            <div class=\"vpascode-viewer-container vpascode-fancy-active\">\r\n                                <div class=\"vpascode-header\">\r\n                    <span class=\"vpascode-lang-label\">Mermaid<\/span>\r\n                    <a href=\"https:\/\/www.vpascode.com\/editor\/#mermaid:eNq1UUFuwkAMvCPxhxUnUFUegFBOlRDqJVLpA8yuSVba2JHXaRvRnnkPZ17DT0iaVoRSVb3g43jGnrFtgBgfPGQCxXBgmrItYlKoCyRNhS3GyGK2Xbet+dyTomzAYpKc4buyI39Jx1BwRToxa+aAQD2i4KYi983TN1q6H7SP4aDv5knFl7gAxVeo+1bu2w5lBkr\/iPU1juRKbtw+S7iN0c9lgbOVAEWw6pnGUUGrODEv7N2vcZqBKYQ\/4hQoNgfSpbvxeS8PO52+J9efn5nRKj8e9tbk\/njY0aiTXob4p\/QEVy7Baw==\" \r\n                       target=\"_blank\" \r\n                       rel=\"noopener noreferrer\" \r\n                       class=\"vpascode-fancy-btn\">\r\n                        <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"margin-right: 8px;\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg>\r\n                        <span>Edit Mermaid in VPasCode<\/span>\r\n                    <\/a>\r\n                <\/div>\r\n                                <div class=\"vpascode-code-wrapper\">\r\n                    <pre class=\"lang-mermaid\"><code class=\"language-mermaid\" data-language=\"mermaid\" class=\"language-mermaid\">classDiagram\r\n    class PaymentProcessor {\r\n        &lt;&lt;interface&gt;&gt;\r\n        +processPayment(amount) boolean\r\n        +refundPayment(txnId) boolean\r\n    }\r\n\r\n    class StripeGateway {\r\n        -String apiKey\r\n        -String endpointUrl\r\n        +processPayment(amount) boolean\r\n        +refundPayment(txnId) boolean\r\n        -logTransaction(status) void\r\n    }\r\n\r\n    class PayPalGateway {\r\n        -String merchantId\r\n        +processPayment(amount) boolean\r\n        +refundPayment(txnId) boolean\r\n    }\r\n\r\n    StripeGateway ..|&gt; PaymentProcessor : \"Th\u1ef1c hi\u1ec7n\"\r\n    PayPalGateway ..|&gt; PaymentProcessor : \"Th\u1ef1c hi\u1ec7n\"<\/code><\/pre>                <\/div>\r\n                <div class=\"vpascode-actions\">\r\n                    <a href=\"https:\/\/www.vpascode.com\/editor\/#mermaid:eNq1UUFuwkAMvCPxhxUnUFUegFBOlRDqJVLpA8yuSVba2JHXaRvRnnkPZ17DT0iaVoRSVb3g43jGnrFtgBgfPGQCxXBgmrItYlKoCyRNhS3GyGK2Xbet+dyTomzAYpKc4buyI39Jx1BwRToxa+aAQD2i4KYi983TN1q6H7SP4aDv5knFl7gAxVeo+1bu2w5lBkr\/iPU1juRKbtw+S7iN0c9lgbOVAEWw6pnGUUGrODEv7N2vcZqBKYQ\/4hQoNgfSpbvxeS8PO52+J9efn5nRKj8e9tbk\/njY0aiTXob4p\/QEVy7Baw==\" \r\n                       target=\"_blank\" \r\n                       rel=\"noopener noreferrer\" \r\n                       class=\"vpascode-fancy-btn\">\r\n                        <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"margin-right: 6px;\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg>\r\n                        <span>Edit Mermaid in VPasCode<\/span>\r\n                    <\/a>\r\n                <\/div>\r\n            <\/div>\r\n            \n<\/p><\/div>\n<div class=\"vpascode-actions\">\n<a class=\"vpascode-fancy-btn\" href=\"https:\/\/www.vpascode.com\/editor\/#mermaid:eNq1UUFqw0AMvAfyhyWnhNI8IASfAsX0Ymj7AHVXcRd2pUUrtzVp\/147ToiTlNJLdBzNSDOSDZDzxkMtEKcT05XtEVNBG5G0EraYM4vZDd2+1mtPirIFi0Vxgu\/SQD5I5xC5IV2YV+aAQCOi4LYhd+TpJ5XugvY9nYzdPKn4hA+g+AHt2Mp936HaQPKP2F7jSC5x5\/ZFwm2M7pcFrp8FKINVzzTPCtrkhXln736N0w2sIPwRJ6LYNyAt3Y3Pe37Y5fKruP78yszKmAL2aJ4NuvME\/9H9AGFPu8s=\" rel=\"noopener noreferrer\" target=\"_blank\"><br \/>\n<svg fill=\"none\" height=\"14\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2.5\" style=\"margin-right: 6px;\" viewbox=\"0 0 24 24\" width=\"14\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg><br \/>\n<span>Ch\u1ec9nh s\u1eeda Mermaid trong VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<\/div>\n<p id=\"dKUznWo\"><img loading=\"lazy\" alt=\"\" class=\"alignnone size-full wp-image-621\" decoding=\"async\" height=\"480\" loading=\"lazy\" sizes=\"auto, (max-width: 751px) 100vw, 751px\" src=\"https:\/\/www.vpascode.com\/wp-content\/uploads\/2026\/05\/img_6a19031bd8def.png\" srcset=\"https:\/\/www.vpascode.com\/wp-content\/uploads\/2026\/05\/img_6a19031bd8def.png 751w, https:\/\/www.vpascode.com\/wp-content\/uploads\/2026\/05\/img_6a19031bd8def-300x192.png 300w\" width=\"751\"\/><\/p>\n<p><strong>Ph\u00e2n t\u00edch c\u00fa ph\u00e1p:<\/strong> M\u00e3 <code>&lt;&lt;interface&gt;&gt;<\/code> th\u1ebb n\u00e0y r\u00f5 r\u00e0ng \u0111\u00e1nh d\u1ea5u `PaymentProcessor` l\u00e0 m\u1ed9t h\u1ee3p \u0111\u1ed3ng ki\u1ebfn tr\u00fac c\u1ea5p cao. Hai l\u1edbp tri\u1ec3n khai c\u1ed5ng c\u1ee5 th\u1ec3 s\u1eed d\u1ee5ng c\u00e1c tr\u01b0\u1eddng ri\u00eang t\u01b0 (<code>-apiKey<\/code>) cho c\u00e1c th\u00f4ng tin x\u00e1c th\u1ef1c nh\u1ea1y c\u1ea3m, trong khi c\u00f4ng khai c\u00e1c thao t\u00e1c thanh to\u00e1n c\u00f4ng khai (<code>+processPayment<\/code>) \u0111\u01b0\u1ee3c li\u00ean k\u1ebft th\u00f4ng qua m\u0169i t\u00ean th\u1ef1c hi\u1ec7n (<code>..|&gt;<\/code>).<\/p>\n<h3>V\u00ed d\u1ee5 2: B\u1ed9 x\u1eed l\u00fd \u0111\u01a1n h\u00e0ng doanh nghi\u1ec7p (Th\u00e0nh ph\u1ea7n &amp; \u0110a d\u1ea1ng)<\/h3>\n<p>B\u1ea3n thi\u1ebft k\u1ebf h\u1ec7 th\u1ed1ng n\u00e2ng cao n\u00e0y m\u00f4 ph\u1ecfng m\u1ed9t l\u01b0\u1ee3c \u0111\u1ed3 qu\u1ea3n l\u00fd \u0111\u01a1n h\u00e0ng th\u01b0\u01a1ng m\u1ea1i \u0111i\u1ec7n t\u1eed ph\u1ee9c t\u1ea1p, minh h\u1ecda c\u00e1ch ghi ch\u00fa v\u1ec1 quy\u1ec1n s\u1edf h\u1eefu c\u1ea5u tr\u00fac v\u00e0 s\u1ed1 l\u01b0\u1ee3ng \u0111\u1ed1i t\u01b0\u1ee3ng qua nhi\u1ec1u l\u1edbp li\u00ean k\u1ebft v\u1edbi nhau.<\/p>\n<div class=\"vpascode-viewer-container vpascode-fancy-active\">\n<div class=\"vpascode-header\">\n<span class=\"vpascode-lang-label\">Mermaid<\/span><br \/>\n<a class=\"vpascode-fancy-btn\" href=\"https:\/\/www.vpascode.com\/editor\/#mermaid:eNp1UctqAzEMvAfyD8KnNmEDufZQKJtLTi2k\/QDVFqnBj62spYTQf6\/3kcTbbX2wYEbjGcnaYUo7i0dGv1xAPrpDoG6TRE8M5wHtztoGAT0Se1MQB2EbjhDQU4E2DjU9syG+u4e+DuT3clFa9czMJ3boxGSHQmDyVTPlu6Cq0T\/riAO6g6C0qZBqdLp1WfQaBV1OY2L77uj\/OHshP4tkMzhJ1IGfLQaxcirg4XFo2Gp6IX4LVv50ejKGKdfzfJNJmEjmuJ46jWgTUx6rjub3RNdfVFsFVRVBeQwnNa78AVT8CkkNvbe51XazWXX9q153bdbRZye6CC7xh7cfb33pwzYJJKofTEiiUg==\" rel=\"noopener noreferrer\" target=\"_blank\"><br \/>\n<svg fill=\"none\" height=\"14\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2.5\" style=\"margin-right: 8px;\" viewbox=\"0 0 24 24\" width=\"14\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg><br \/>\n<span>Ch\u1ec9nh s\u1eeda Mermaid trong VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<div class=\"vpascode-code-wrapper\">\n            <div class=\"vpascode-viewer-container vpascode-fancy-active\">\r\n                                <div class=\"vpascode-header\">\r\n                    <span class=\"vpascode-lang-label\">Mermaid<\/span>\r\n                    <a href=\"https:\/\/www.vpascode.com\/editor\/#mermaid:eNp1kb9OwzAQxvdKfYeTJyhKpa4MSKhdOoFUeABjnxJLjh3s81BVPARPAFsnxN4MDPAieROcP7QJAQ+29fvy+bu7CM29XymeOp5PJxCXqAksgyebo4NdS+t1oQyB6IS17AkbcsqkYHiOPVpoLvDGSXRn59Ccrfg0nfSjGmWUY2s6CFlxQpBxWzqMe09KuvzoQ2e43hCn4HtWwbUIOpruLHEdq5E2PGj8v5w1YT4qSUU4qKiGj4EbUrTt4fZxKJwSeIvu3ij6M+laSofx3I0n6ckh0piLYVJHC+tjW0srf3d0\/ItswSBJLLCcmy3rRn4JTGRVuQdflS8Qb++Btb7TDNhiPp\/V3lnzxtFI2eeryaDIqsPedK6fftqwq9PHaVW+Kfh6rg4fhn0DE1GxLw==\" \r\n                       target=\"_blank\" \r\n                       rel=\"noopener noreferrer\" \r\n                       class=\"vpascode-fancy-btn\">\r\n                        <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"margin-right: 8px;\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg>\r\n                        <span>Edit Mermaid in VPasCode<\/span>\r\n                    <\/a>\r\n                <\/div>\r\n                                <div class=\"vpascode-code-wrapper\">\r\n                    <pre class=\"lang-mermaid\"><code class=\"language-mermaid\" data-language=\"mermaid\" class=\"language-mermaid\">classDiagram\r\n    class Customer {\r\n        +int customerId\r\n        +String name\r\n        +placeOrder() Order\r\n    }\r\n\r\n    class Order {\r\n        +int orderId\r\n        +Date dateCreated\r\n        -String internalStatus\r\n        +calculateTotal() double\r\n    }\r\n\r\n    class OrderItem {\r\n        +int itemId\r\n        +int quantity\r\n        +double pricePerUnit\r\n    }\r\n\r\n    class Address {\r\n        +String street\r\n        +String city\r\n        +String postalCode\r\n    }\r\n\r\n    Customer \"1\" --o \"many\" Order : \"ch\u1ee7 s\u1edf h\u1eefu\"\r\n    OrderItem \"1..*\" --* \"1\" Order : \"th\u00e0nh ph\u1ea7n\"\r\n    Address \"1\" --&gt; Order : \"g\u1eedi \u0111\u1ebfn\"<\/code><\/pre>                <\/div>\r\n                <div class=\"vpascode-actions\">\r\n                    <a href=\"https:\/\/www.vpascode.com\/editor\/#mermaid:eNp1kb9OwzAQxvdKfYeTJyhKpa4MSKhdOoFUeABjnxJLjh3s81BVPARPAFsnxN4MDPAieROcP7QJAQ+29fvy+bu7CM29XymeOp5PJxCXqAksgyebo4NdS+t1oQyB6IS17AkbcsqkYHiOPVpoLvDGSXRn59Ccrfg0nfSjGmWUY2s6CFlxQpBxWzqMe09KuvzoQ2e43hCn4HtWwbUIOpruLHEdq5E2PGj8v5w1YT4qSUU4qKiGj4EbUrTt4fZxKJwSeIvu3ij6M+laSofx3I0n6ckh0piLYVJHC+tjW0srf3d0\/ItswSBJLLCcmy3rRn4JTGRVuQdflS8Qb++Btb7TDNhiPp\/V3lnzxtFI2eeryaDIqsPedK6fftqwq9PHaVW+Kfh6rg4fhn0DE1GxLw==\" \r\n                       target=\"_blank\" \r\n                       rel=\"noopener noreferrer\" \r\n                       class=\"vpascode-fancy-btn\">\r\n                        <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"margin-right: 6px;\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg>\r\n                        <span>Edit Mermaid in VPasCode<\/span>\r\n                    <\/a>\r\n                <\/div>\r\n            <\/div>\r\n            \n<\/p><\/div>\n<div class=\"vpascode-actions\">\n<a class=\"vpascode-fancy-btn\" href=\"https:\/\/www.vpascode.com\/editor\/#mermaid:eNp1UctqAzEMvAfyD8KnNmEDufZQKJtLTi2k\/QDVFqnBj62spYTQf6\/3kcTbbX2wYEbjGcnaYUo7i0dGv1xAPrpDoG6TRE8M5wHtztoGAT0Se1MQB2EbjhDQU4E2DjU9syG+u4e+DuT3clFa9czMJ3boxGSHQmDyVTPlu6Cq0T\/riAO6g6C0qZBqdLp1WfQaBV1OY2L77uj\/OHshP4tkMzhJ1IGfLQaxcirg4XFo2Gp6IX4LVv50ejKGKdfzfJNJmEjmuJ46jWgTUx6rjub3RNdfVFsFVRVBeQwnNa78AVT8CkkNvbe51XazWXX9q153bdbRZye6CC7xh7cfb33pwzYJJKofTEiiUg==\" rel=\"noopener noreferrer\" target=\"_blank\"><br \/>\n<svg fill=\"none\" height=\"14\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2.5\" style=\"margin-right: 6px;\" viewbox=\"0 0 24 24\" width=\"14\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg><br \/>\n<span>Ch\u1ec9nh s\u1eeda Mermaid trong VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<\/div>\n<p id=\"nhNYQKB\"><img loading=\"lazy\" alt=\"\" class=\"alignnone size-full wp-image-622\" decoding=\"async\" height=\"450\" loading=\"lazy\" sizes=\"auto, (max-width: 731px) 100vw, 731px\" src=\"https:\/\/www.vpascode.com\/wp-content\/uploads\/2026\/05\/img_6a190321054b5.png\" srcset=\"https:\/\/www.vpascode.com\/wp-content\/uploads\/2026\/05\/img_6a190321054b5.png 731w, https:\/\/www.vpascode.com\/wp-content\/uploads\/2026\/05\/img_6a190321054b5-300x185.png 300w\" width=\"731\"\/><\/p>\n<p><strong>Ph\u00e2n t\u00edch c\u00fa ph\u00e1p:<\/strong> V\u00ed d\u1ee5 n\u00e0y minh h\u1ecda s\u1ef1 kh\u00e1c bi\u1ec7t gi\u1eefa t\u00edch h\u1ee3p v\u00e0 k\u1ebft h\u1ee3p. M\u0169i t\u00ean h\u00ecnh kim c\u01b0\u01a1ng \u0111\u1eadm (<code>--*<\/code>) cho th\u1ea5y r\u1eb1ng m\u1ed9t `OrderItem` \u0111\u01b0\u1ee3c li\u00ean k\u1ebft ch\u1eb7t ch\u1ebd v\u1edbi m\u1ed9t `Order` (n\u1ebfu m\u1ed9t \u0111\u01a1n h\u00e0ng b\u1ecb x\u00f3a, c\u00e1c m\u1ee5c chi ti\u1ebft ri\u00eang l\u1ebb c\u1ee7a n\u00f3 c\u0169ng s\u1ebd b\u1ecb h\u1ee7y). Ng\u01b0\u1ee3c l\u1ea1i, m\u0169i t\u00ean h\u00ecnh kim c\u01b0\u01a1ng r\u00f5 r\u00e0ng (<code>--o<\/code>) cho bi\u1ebft r\u1eb1ng m\u1ed9t `Customer` s\u1edf h\u1eefu nhi\u1ec1u \u0111\u01a1n h\u00e0ng, nh\u01b0ng c\u1ea3 hai th\u1ef1c th\u1ec3 n\u00e0y \u0111\u1ec1u c\u00f3 th\u1ec3 t\u1ed3n t\u1ea1i \u0111\u1ed9c l\u1eadp. C\u00e1c chu\u1ed7i b\u1ed9i s\u1ed1 (nh\u01b0 <code>\"1..*\"<\/code>) x\u00e1c \u0111\u1ecbnh c\u00e1c y\u00eau c\u1ea7u li\u00ean quan c\u1ee7a h\u1ec7 th\u1ed1ng.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>S\u01a1 \u0111\u1ed3 l\u1edbp l\u00e0 g\u00ec? M\u1ed9t S\u01a1 \u0111\u1ed3 l\u1edbp l\u00e0 m\u1ed9t s\u01a1 \u0111\u1ed3 UML gi\u00fap tr\u1ef1c quan h\u00f3a ki\u1ebfn tr\u00fac t\u0129nh c\u1ee7a m\u1ed9t h\u1ec7 th\u1ed1ng ph\u1ea7n m\u1ec1m h\u01b0\u1edbng \u0111\u1ed1i t\u01b0\u1ee3ng. L\u00e0 m\u1ed9t lo\u1ea1i s\u01a1 \u0111\u1ed3 UML kh\u00f4ng th\u1ec3 thi\u1ebfu,lo\u1ea1i s\u01a1&#8230;<\/p>\n","protected":false},"author":4,"featured_media":2107,"parent":0,"menu_order":2,"template":"","meta":{"inline_featured_image":false,"site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"default","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"set","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}}},"ld_collection":[14],"class_list":["post-2106","ld_docs","type-ld_docs","status-publish","has-post-thumbnail","hentry","ld_collection-vpascode-docs"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.6 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Mermaid Class Diagram Syntax | VPasCode Text to Diagram Guide<\/title>\n<meta name=\"description\" content=\"Document code structures and object relationships using Mermaid class diagrams in VPasCode, a free diagram-as-code tool.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.vpascode.com\/vn\/docs\/vpascode-docs\/mermaid-js-class-diagram-syntax-guide\/\" \/>\n<meta property=\"og:locale\" content=\"vi_VN\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Mermaid Class Diagram Syntax | VPasCode Text to Diagram Guide\" \/>\n<meta property=\"og:description\" content=\"Document code structures and object relationships using Mermaid class diagrams in VPasCode, a free diagram-as-code tool.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.vpascode.com\/vn\/docs\/vpascode-docs\/mermaid-js-class-diagram-syntax-guide\/\" \/>\n<meta property=\"og:site_name\" content=\"VPasCode\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.vpascode.com\/vn\/wp-content\/uploads\/sites\/12\/2026\/05\/img_6a190321054b5-1.png\" \/>\n\t<meta property=\"og:image:width\" content=\"731\" \/>\n\t<meta property=\"og:image:height\" content=\"450\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"\u01af\u1edbc t\u00ednh th\u1eddi gian \u0111\u1ecdc\" \/>\n\t<meta name=\"twitter:data1\" content=\"4 ph\u00fat\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.vpascode.com\\\/vn\\\/docs\\\/vpascode-docs\\\/mermaid-js-class-diagram-syntax-guide\\\/\",\"url\":\"https:\\\/\\\/www.vpascode.com\\\/vn\\\/docs\\\/vpascode-docs\\\/mermaid-js-class-diagram-syntax-guide\\\/\",\"name\":\"Mermaid Class Diagram Syntax | VPasCode Text to Diagram Guide\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.vpascode.com\\\/vn\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.vpascode.com\\\/vn\\\/docs\\\/vpascode-docs\\\/mermaid-js-class-diagram-syntax-guide\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.vpascode.com\\\/vn\\\/docs\\\/vpascode-docs\\\/mermaid-js-class-diagram-syntax-guide\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.vpascode.com\\\/vn\\\/wp-content\\\/uploads\\\/sites\\\/12\\\/2026\\\/05\\\/img_6a190321054b5-1.png\",\"datePublished\":\"2026-05-26T08:05:43+00:00\",\"description\":\"Document code structures and object relationships using Mermaid class diagrams in VPasCode, a free diagram-as-code tool.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.vpascode.com\\\/vn\\\/docs\\\/vpascode-docs\\\/mermaid-js-class-diagram-syntax-guide\\\/#breadcrumb\"},\"inLanguage\":\"vi\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.vpascode.com\\\/vn\\\/docs\\\/vpascode-docs\\\/mermaid-js-class-diagram-syntax-guide\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"vi\",\"@id\":\"https:\\\/\\\/www.vpascode.com\\\/vn\\\/docs\\\/vpascode-docs\\\/mermaid-js-class-diagram-syntax-guide\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.vpascode.com\\\/vn\\\/wp-content\\\/uploads\\\/sites\\\/12\\\/2026\\\/05\\\/img_6a190321054b5-1.png\",\"contentUrl\":\"https:\\\/\\\/www.vpascode.com\\\/vn\\\/wp-content\\\/uploads\\\/sites\\\/12\\\/2026\\\/05\\\/img_6a190321054b5-1.png\",\"width\":731,\"height\":450},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.vpascode.com\\\/vn\\\/docs\\\/vpascode-docs\\\/mermaid-js-class-diagram-syntax-guide\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.vpascode.com\\\/vn\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Lean Docs\",\"item\":\"https:\\\/\\\/www.vpascode.com\\\/vn\\\/docs\\\/%ld_collection%\\\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"H\u01b0\u1edbng d\u1eabn c\u00fa ph\u00e1p s\u01a1 \u0111\u1ed3 l\u1edbp Mermaid.js\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.vpascode.com\\\/vn\\\/#website\",\"url\":\"https:\\\/\\\/www.vpascode.com\\\/vn\\\/\",\"name\":\"VPasCode\",\"description\":\"by Visual Paradigm\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.vpascode.com\\\/vn\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.vpascode.com\\\/vn\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"vi\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.vpascode.com\\\/vn\\\/#organization\",\"name\":\"VPasCode\",\"url\":\"https:\\\/\\\/www.vpascode.com\\\/vn\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"vi\",\"@id\":\"https:\\\/\\\/www.vpascode.com\\\/vn\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/www.vpascode.com\\\/vn\\\/wp-content\\\/uploads\\\/sites\\\/12\\\/2026\\\/06\\\/cropped-vp-online-logo-v1.png\",\"contentUrl\":\"https:\\\/\\\/www.vpascode.com\\\/vn\\\/wp-content\\\/uploads\\\/sites\\\/12\\\/2026\\\/06\\\/cropped-vp-online-logo-v1.png\",\"width\":128,\"height\":138,\"caption\":\"VPasCode\"},\"image\":{\"@id\":\"https:\\\/\\\/www.vpascode.com\\\/vn\\\/#\\\/schema\\\/logo\\\/image\\\/\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Mermaid Class Diagram Syntax | VPasCode Text to Diagram Guide","description":"Document code structures and object relationships using Mermaid class diagrams in VPasCode, a free diagram-as-code tool.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.vpascode.com\/vn\/docs\/vpascode-docs\/mermaid-js-class-diagram-syntax-guide\/","og_locale":"vi_VN","og_type":"article","og_title":"Mermaid Class Diagram Syntax | VPasCode Text to Diagram Guide","og_description":"Document code structures and object relationships using Mermaid class diagrams in VPasCode, a free diagram-as-code tool.","og_url":"https:\/\/www.vpascode.com\/vn\/docs\/vpascode-docs\/mermaid-js-class-diagram-syntax-guide\/","og_site_name":"VPasCode","og_image":[{"width":731,"height":450,"url":"https:\/\/www.vpascode.com\/vn\/wp-content\/uploads\/sites\/12\/2026\/05\/img_6a190321054b5-1.png","type":"image\/png"}],"twitter_card":"summary_large_image","twitter_misc":{"\u01af\u1edbc t\u00ednh th\u1eddi gian \u0111\u1ecdc":"4 ph\u00fat"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.vpascode.com\/vn\/docs\/vpascode-docs\/mermaid-js-class-diagram-syntax-guide\/","url":"https:\/\/www.vpascode.com\/vn\/docs\/vpascode-docs\/mermaid-js-class-diagram-syntax-guide\/","name":"Mermaid Class Diagram Syntax | VPasCode Text to Diagram Guide","isPartOf":{"@id":"https:\/\/www.vpascode.com\/vn\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.vpascode.com\/vn\/docs\/vpascode-docs\/mermaid-js-class-diagram-syntax-guide\/#primaryimage"},"image":{"@id":"https:\/\/www.vpascode.com\/vn\/docs\/vpascode-docs\/mermaid-js-class-diagram-syntax-guide\/#primaryimage"},"thumbnailUrl":"https:\/\/www.vpascode.com\/vn\/wp-content\/uploads\/sites\/12\/2026\/05\/img_6a190321054b5-1.png","datePublished":"2026-05-26T08:05:43+00:00","description":"Document code structures and object relationships using Mermaid class diagrams in VPasCode, a free diagram-as-code tool.","breadcrumb":{"@id":"https:\/\/www.vpascode.com\/vn\/docs\/vpascode-docs\/mermaid-js-class-diagram-syntax-guide\/#breadcrumb"},"inLanguage":"vi","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.vpascode.com\/vn\/docs\/vpascode-docs\/mermaid-js-class-diagram-syntax-guide\/"]}]},{"@type":"ImageObject","inLanguage":"vi","@id":"https:\/\/www.vpascode.com\/vn\/docs\/vpascode-docs\/mermaid-js-class-diagram-syntax-guide\/#primaryimage","url":"https:\/\/www.vpascode.com\/vn\/wp-content\/uploads\/sites\/12\/2026\/05\/img_6a190321054b5-1.png","contentUrl":"https:\/\/www.vpascode.com\/vn\/wp-content\/uploads\/sites\/12\/2026\/05\/img_6a190321054b5-1.png","width":731,"height":450},{"@type":"BreadcrumbList","@id":"https:\/\/www.vpascode.com\/vn\/docs\/vpascode-docs\/mermaid-js-class-diagram-syntax-guide\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.vpascode.com\/vn\/"},{"@type":"ListItem","position":2,"name":"Lean Docs","item":"https:\/\/www.vpascode.com\/vn\/docs\/%ld_collection%\/"},{"@type":"ListItem","position":3,"name":"H\u01b0\u1edbng d\u1eabn c\u00fa ph\u00e1p s\u01a1 \u0111\u1ed3 l\u1edbp Mermaid.js"}]},{"@type":"WebSite","@id":"https:\/\/www.vpascode.com\/vn\/#website","url":"https:\/\/www.vpascode.com\/vn\/","name":"VPasCode","description":"by Visual Paradigm","publisher":{"@id":"https:\/\/www.vpascode.com\/vn\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.vpascode.com\/vn\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"vi"},{"@type":"Organization","@id":"https:\/\/www.vpascode.com\/vn\/#organization","name":"VPasCode","url":"https:\/\/www.vpascode.com\/vn\/","logo":{"@type":"ImageObject","inLanguage":"vi","@id":"https:\/\/www.vpascode.com\/vn\/#\/schema\/logo\/image\/","url":"https:\/\/www.vpascode.com\/vn\/wp-content\/uploads\/sites\/12\/2026\/06\/cropped-vp-online-logo-v1.png","contentUrl":"https:\/\/www.vpascode.com\/vn\/wp-content\/uploads\/sites\/12\/2026\/06\/cropped-vp-online-logo-v1.png","width":128,"height":138,"caption":"VPasCode"},"image":{"@id":"https:\/\/www.vpascode.com\/vn\/#\/schema\/logo\/image\/"}}]}},"_links":{"self":[{"href":"https:\/\/www.vpascode.com\/vn\/wp-json\/wp\/v2\/ld_docs\/2106","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.vpascode.com\/vn\/wp-json\/wp\/v2\/ld_docs"}],"about":[{"href":"https:\/\/www.vpascode.com\/vn\/wp-json\/wp\/v2\/types\/ld_docs"}],"author":[{"embeddable":true,"href":"https:\/\/www.vpascode.com\/vn\/wp-json\/wp\/v2\/users\/4"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.vpascode.com\/vn\/wp-json\/wp\/v2\/media\/2107"}],"wp:attachment":[{"href":"https:\/\/www.vpascode.com\/vn\/wp-json\/wp\/v2\/media?parent=2106"}],"wp:term":[{"taxonomy":"ld_collection","embeddable":true,"href":"https:\/\/www.vpascode.com\/vn\/wp-json\/wp\/v2\/ld_collection?post=2106"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}