{"id":26893,"date":"2026-05-21T15:55:49","date_gmt":"2026-05-21T07:55:49","guid":{"rendered":"https:\/\/blog.visual-paradigm.com\/in\/mastering-uml-class-diagrams-a-practical-case-study-in-system-design-with-plantuml\/"},"modified":"2026-05-30T16:13:20","modified_gmt":"2026-05-30T08:13:20","slug":"mastering-uml-class-diagrams-a-practical-case-study-in-system-design-with-plantuml","status":"publish","type":"post","link":"https:\/\/blog.visual-paradigm.com\/in\/mastering-uml-class-diagrams-a-practical-case-study-in-system-design-with-plantuml\/","title":{"rendered":"UML \u0915\u094d\u0932\u093e\u0938 \u0921\u093e\u092f\u0917\u094d\u0930\u093e\u092e \u0915\u094b \u0938\u092e\u091d\u0928\u093e: PlantUML \u0915\u0947 \u0938\u093e\u0925 \u0938\u093f\u0938\u094d\u091f\u092e \u0921\u093f\u091c\u093e\u0907\u0928 \u092e\u0947\u0902 \u090f\u0915 \u0935\u094d\u092f\u093e\u0935\u0939\u093e\u0930\u093f\u0915 \u0915\u0947\u0938 \u0938\u094d\u091f\u0921\u0940"},"content":{"rendered":"<h2 data-nodeid=\"111\"><strong data-nodeid=\"293\">\u092a\u0930\u093f\u091a\u092f<\/strong><\/h2>\n<p data-nodeid=\"112\">\u0906\u091c \u0915\u0947 \u091c\u091f\u093f\u0932 \u0938\u0949\u092b\u094d\u091f\u0935\u0947\u092f\u0930 \u0935\u093f\u0915\u093e\u0938 \u092a\u0930\u093f\u0926\u0943\u0936\u094d\u092f \u092e\u0947\u0902, \u092a\u0930\u093f\u092f\u094b\u091c\u0928\u093e \u0938\u092b\u0932\u0924\u093e \u0915\u0947 \u0932\u093f\u090f \u0938\u094d\u092a\u0937\u094d\u091f \u0938\u0902\u091a\u093e\u0930 \u0914\u0930 \u0938\u091f\u0940\u0915 \u0938\u093f\u0938\u094d\u091f\u092e \u092e\u0949\u0921\u0932\u093f\u0902\u0917 \u092e\u0939\u0924\u094d\u0935\u092a\u0942\u0930\u094d\u0923 \u0939\u0948\u0964 \u0938\u0949\u092b\u094d\u091f\u0935\u0947\u092f\u0930 \u0906\u0930\u094d\u0915\u093f\u091f\u0947\u0915\u094d\u091f \u0915\u0947 \u091f\u0942\u0932\u0915\u093f\u091f \u092e\u0947\u0902 \u0938\u092c\u0938\u0947 \u0936\u0915\u094d\u0924\u093f\u0936\u093e\u0932\u0940 \u0909\u092a\u0915\u0930\u0923\u094b\u0902 \u092e\u0947\u0902 \u0938\u0947 \u090f\u0915 \u0939\u0948<strong data-nodeid=\"303\">UML \u0915\u094d\u0932\u093e\u0938 \u0921\u093e\u092f\u0917\u094d\u0930\u093e\u092e<\/strong>\u2014\u090f\u0915 \u0926\u0943\u0936\u094d\u092f \u092d\u093e\u0937\u093e \u091c\u094b \u0938\u0902\u0915\u0932\u094d\u092a\u0928\u093e\u0924\u094d\u092e\u0915 \u0906\u0935\u0936\u094d\u092f\u0915\u0924\u093e\u0913\u0902 \u0914\u0930 \u0935\u093e\u0938\u094d\u0924\u0935\u093f\u0915 \u0915\u093e\u0930\u094d\u092f\u093e\u0928\u094d\u0935\u092f\u0928 \u0915\u0947 \u092c\u0940\u091a \u0915\u0947 \u0905\u0902\u0924\u0930 \u0915\u094b \u092a\u093e\u0930 \u0915\u0930\u0924\u0940 \u0939\u0948\u0964<\/p>\n<p data-nodeid=\"113\">\u0907\u0938 \u0915\u0947\u0938 \u0938\u094d\u091f\u0921\u0940 \u092e\u0947\u0902 \u092f\u0939 \u0905\u0927\u094d\u092f\u092f\u0928 \u0915\u093f\u092f\u093e \u0917\u092f\u093e \u0939\u0948 \u0915\u093f \u0915\u094d\u0932\u093e\u0938 \u0921\u093e\u092f\u0917\u094d\u0930\u093e\u092e \u0911\u092c\u094d\u091c\u0947\u0915\u094d\u091f-\u0913\u0930\u093f\u090f\u0902\u091f\u0947\u0921 \u0921\u093f\u091c\u093e\u0907\u0928 \u0915\u0947 \u0906\u0927\u093e\u0930 \u0915\u0947 \u0930\u0942\u092a \u092e\u0947\u0902 \u0915\u0948\u0938\u0947 \u0915\u093e\u092e \u0915\u0930\u0924\u0947 \u0939\u0948\u0902, \u091c\u093f\u0938\u0938\u0947 \u091f\u0940\u092e\u0947\u0902 \u0938\u094d\u0925\u093f\u0930 \u0938\u093f\u0938\u094d\u091f\u092e \u0938\u0902\u0930\u091a\u0928\u093e \u0915\u094b \u092e\u0949\u0921\u0932 \u0915\u0930 \u0938\u0915\u0924\u0940 \u0939\u0948\u0902, \u090f\u0915\u0924\u093e \u0915\u0947 \u092c\u0940\u091a \u0938\u0902\u092c\u0902\u0927\u094b\u0902 \u0915\u094b \u092a\u0930\u093f\u092d\u093e\u0937\u093f\u0924 \u0915\u0930 \u0938\u0915\u0924\u0940 \u0939\u0948\u0902 \u0914\u0930 \u0935\u093f\u0915\u093e\u0938 \u0915\u0947 \u0932\u093f\u090f \u0938\u094d\u092a\u0937\u094d\u091f \u0905\u0928\u0941\u092c\u0902\u0927 \u0938\u094d\u0925\u093e\u092a\u093f\u0924 \u0915\u0930 \u0938\u0915\u0924\u0940 \u0939\u0948\u0902\u0964 \u090f\u0915 \u0935\u094d\u092f\u093e\u0935\u0939\u093e\u0930\u093f\u0915 \u0908-\u0915\u0949\u092e\u0930\u094d\u0938 \u0911\u0930\u094d\u0921\u0930 \u092e\u0948\u0928\u0947\u091c\u092e\u0947\u0902\u091f \u0938\u093f\u0938\u094d\u091f\u092e \u0915\u0947 \u0909\u0926\u093e\u0939\u0930\u0923 \u0915\u0947 \u092e\u093e\u0927\u094d\u092f\u092e \u0938\u0947, \u0939\u092e \u0926\u093f\u0916\u093e\u090f\u0902\u0917\u0947 \u0915\u093f \u0924\u0940\u0928 \u0935\u093f\u0915\u093e\u0938 \u0926\u0943\u0937\u094d\u091f\u093f\u0915\u094b\u0923\u2014\u0905\u0935\u0927\u093e\u0930\u0923\u093e\u0924\u094d\u092e\u0915, \u0935\u093f\u0936\u093f\u0937\u094d\u091f\u0924\u093e \u0914\u0930 \u0915\u093e\u0930\u094d\u092f\u093e\u0928\u094d\u0935\u092f\u0928\u2014\u0915\u0947 \u0906\u0927\u093e\u0930 \u092a\u0930 \u0915\u094d\u0932\u093e\u0938 \u0921\u093e\u092f\u0917\u094d\u0930\u093e\u092e \u0915\u094b \u0915\u0948\u0938\u0947 \u0927\u0940\u0930\u0947-\u0927\u0940\u0930\u0947 \u0938\u0941\u0927\u093e\u0930\u093e \u091c\u093e \u0938\u0915\u0924\u093e \u0939\u0948, \u091c\u092c\u0915\u093f<strong data-nodeid=\"311\">PlantUML<\/strong>\u0915\u093e\u0930\u094d\u092f\u093e\u0928\u094d\u0935\u092f\u0928 \u092f\u094b\u0917\u094d\u092f, \u0938\u0902\u0938\u094d\u0915\u0930\u0923 \u0928\u093f\u092f\u0902\u0924\u094d\u0930\u093f\u0924 \u0926\u0938\u094d\u0924\u093e\u0935\u0947\u091c\u093c\u0940\u0915\u0930\u0923 \u0915\u0947 \u0932\u093f\u090f \u0909\u092a\u092f\u094b\u0917 \u0915\u0930\u0924\u0947 \u0939\u0941\u090f\u0964<\/p>\n<p data-nodeid=\"114\">\u091a\u093e\u0939\u0947 \u0906\u092a \u0921\u094b\u092e\u0947\u0928 \u0905\u0935\u0927\u093e\u0930\u0923\u093e\u0913\u0902 \u0915\u094b \u092e\u0949\u0921\u0932 \u0915\u0930\u0928\u0947 \u0935\u093e\u0932\u0947 \u092c\u093f\u091c\u0928\u0947\u0938 \u090f\u0928\u093e\u0932\u093f\u0938\u094d\u091f \u0939\u094b\u0902, API \u0921\u093f\u091c\u093e\u0907\u0928 \u0915\u0930\u0928\u0947 \u0935\u093e\u0932\u0947 \u0921\u0947\u0935\u0932\u092a\u0930 \u0939\u094b\u0902, \u092f\u093e \u0906\u0930\u094d\u0915\u093f\u091f\u0947\u0915\u094d\u091a\u0930\u0932 \u0938\u0941\u0938\u0902\u0917\u0924\u0924\u093e \u0938\u0941\u0928\u093f\u0936\u094d\u091a\u093f\u0924 \u0915\u0930\u0928\u0947 \u0935\u093e\u0932\u0947 \u091f\u0940\u092e \u0932\u0940\u0921 \u0939\u094b\u0902, \u092f\u0939 \u0917\u093e\u0907\u0921 \u0938\u094d\u092a\u0937\u094d\u091f\u0924\u093e \u092c\u0922\u093c\u093e\u0928\u0947, \u0905\u0938\u094d\u092a\u0937\u094d\u091f\u0924\u093e \u0915\u092e \u0915\u0930\u0928\u0947 \u0914\u0930 \u0921\u093f\u0932\u0940\u0935\u0930\u0940 \u0915\u094b \u0924\u0947\u091c \u0915\u0930\u0928\u0947 \u0935\u093e\u0932\u0947 \u0915\u094d\u0932\u093e\u0938 \u0921\u093e\u092f\u0917\u094d\u0930\u093e\u092e \u092c\u0928\u093e\u0928\u0947 \u0915\u0947 \u0932\u093f\u090f \u0915\u094d\u0930\u093f\u092f\u093e\u0928\u094d\u0935\u092f\u0928 \u092f\u094b\u0917\u094d\u092f \u0926\u0943\u0937\u094d\u091f\u093f\u0915\u094b\u0923 \u092a\u094d\u0930\u0926\u093e\u0928 \u0915\u0930\u0924\u093e \u0939\u0948\u0964<\/p>\n<hr data-nodeid=\"115\"\/>\n<h2 data-nodeid=\"116\"><strong data-nodeid=\"318\">\u0915\u094d\u0932\u093e\u0938 \u0921\u093e\u092f\u0917\u094d\u0930\u093e\u092e \u0915\u094b \u0938\u092e\u091d\u0928\u093e: \u092e\u0942\u0932 \u0905\u0935\u0927\u093e\u0930\u0923\u093e\u0913\u0902 \u0915\u093e \u0938\u093e\u0930\u093e\u0902\u0936<\/strong><\/h2>\n<p data-nodeid=\"117\"><em data-nodeid=\"322\">(\u0906\u0927\u093e\u0930\u092d\u0942\u0924 \u091c\u094d\u091e\u093e\u0928 \u0938\u0947 \u0938\u0902\u0915\u094d\u0937\u093f\u092a\u094d\u0924)<\/em><\/p>\n<p data-nodeid=\"118\">\u090f\u0915<strong data-nodeid=\"328\">\u0915\u094d\u0932\u093e\u0938 \u0921\u093e\u092f\u0917\u094d\u0930\u093e\u092e<\/strong>UML \u092e\u0947\u0902 \u090f\u0915 \u0938\u094d\u0925\u0948\u0924\u093f\u0915 \u0938\u0902\u0930\u091a\u0928\u093e \u0921\u093e\u092f\u0917\u094d\u0930\u093e\u092e \u0939\u0948 \u091c\u094b \u0926\u093f\u0916\u093e\u0924\u093e \u0939\u0948:<\/p>\n<ul data-nodeid=\"119\">\n<li data-nodeid=\"120\">\n<p data-nodeid=\"121\"><strong data-nodeid=\"333\">\u0915\u094d\u0932\u093e\u0938\u0947\u0938<\/strong>: \u0935\u0938\u094d\u0924\u0941\u0913\u0902 \u0915\u094b \u092a\u0930\u093f\u092d\u093e\u0937\u093f\u0924 \u0915\u0930\u0928\u0947 \u0935\u093e\u0932\u0947 \u092c\u094d\u0932\u0942\u092a\u094d\u0930\u093f\u0902\u091f \u091c\u093f\u0928\u092e\u0947\u0902 \u0917\u0941\u0923 (\u0905\u0935\u0938\u094d\u0925\u093e) \u0914\u0930 \u0938\u0902\u091a\u093e\u0932\u0928 (\u0935\u094d\u092f\u0935\u0939\u093e\u0930) \u0939\u094b\u0924\u0947 \u0939\u0948\u0902<\/p>\n<\/li>\n<li data-nodeid=\"122\">\n<p data-nodeid=\"123\"><strong data-nodeid=\"338\">\u0938\u0902\u092c\u0902\u0927<\/strong>: \u0935\u093f\u0930\u093e\u0938\u0924, \u0938\u0902\u092c\u0902\u0927, \u090f\u0917\u094d\u0930\u0940\u0917\u0947\u0936\u0928, \u0938\u0902\u0918\u091f\u0928 \u0914\u0930 \u0928\u093f\u0930\u094d\u092d\u0930\u0924\u093e<\/p>\n<\/li>\n<li data-nodeid=\"124\">\n<p data-nodeid=\"125\"><strong data-nodeid=\"357\">\u092a\u094d\u0930\u0924\u093f\u092c\u0902\u0927<\/strong>: \u0926\u0943\u0936\u094d\u092f\u0924\u093e (<code data-backticks=\"1\" data-nodeid=\"343\">+<\/code>,\u00a0<code data-backticks=\"1\" data-nodeid=\"345\">-<\/code>,\u00a0<code data-backticks=\"1\" data-nodeid=\"347\">#<\/code>,\u00a0<code data-backticks=\"1\" data-nodeid=\"349\">~<\/code>), \u092c\u0939\u0941\u0932\u0924\u093e (<code data-backticks=\"1\" data-nodeid=\"351\">1<\/code>,\u00a0<code data-backticks=\"1\" data-nodeid=\"353\">0..*<\/code>,\u00a0<code data-backticks=\"1\" data-nodeid=\"355\">1..5<\/code>), \u0914\u0930 \u0928\u094c\u0917\u0947\u0936\u0928<\/p>\n<\/li>\n<\/ul>\n<h3 data-nodeid=\"126\"><strong data-nodeid=\"361\">\u092e\u0941\u0916\u094d\u092f \u0928\u094b\u091f\u0947\u0936\u0928 \u0924\u0924\u094d\u0935<\/p>\n<p><\/strong><\/h3>\n<p id=\"UHnOxfB\"><img alt=\"\" class=\"alignnone size-full wp-image-24654\" decoding=\"async\" height=\"184\" loading=\"lazy\" sizes=\"auto, (max-width: 424px) 100vw, 424px\" src=\"https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/05\/img_6a0eb9275d5e8.png\" srcset=\"https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/05\/img_6a0eb9275d5e8.png 424w, https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/05\/img_6a0eb9275d5e8-300x130.png 300w, https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/05\/img_6a0eb9275d5e8-150x65.png 150w, https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/05\/img_6a0eb9275d5e8-400x174.png 400w\" width=\"424\"\/><\/p>\n<div class=\"vpascode-viewer-container vpascode-fancy-active\">\n<div class=\"vpascode-header\">\n<span class=\"vpascode-lang-label\">\u092a\u094d\u0932\u093e\u0902\u091f\u092f\u0942\u090f\u092e\u090f\u0932<\/span><br \/>\n<a class=\"vpascode-fancy-btn\" href=\"https:\/\/www.vpascode.com#plantuml:HOwn2W8n44JxGFvXonFr1r9TONELWlx0cWqIsCjYiZaGyT_TO64ppBoPOkQcMBMlx5raR0tEbLA5jtS0Hnb-eG1NhRay_ko4cW8C7MmVaMDdIpTHv6bdbVGx_qeaMZIjKpO9SAb2FUe1dleAa8lQU9DCtdsycrCXk_85\" 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>VPasCode \u092e\u0947\u0902 \u092a\u094d\u0932\u093e\u0902\u091f\u092f\u0942\u090f\u092e\u090f\u0932 \u0938\u0902\u092a\u093e\u0926\u093f\u0924 \u0915\u0930\u0947\u0902<\/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\">PlantUML<\/span>\r\n                    <a href=\"https:\/\/www.vpascode.com#plantuml:HOwn2W8n44JxGFvXonFr1r9TONELWlx0cWqIsCjYiZaGyT_TO64ppBoPOkQcMBMlx5raR0tEbLA5jtS0Hnb-eG1NhRay_ko4cW8C7MmVaMDdIpTHv6bdbVGx_qeaMZIjKpO9SAb2FUe1dleAa8lQU9DCtdsycrCXk_85\" \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 PlantUML in VPasCode<\/span>\r\n                    <\/a>\r\n                <\/div>\r\n                                <div class=\"vpascode-code-wrapper\">\r\n                    <pre class=\"lang-plantuml\" data-nodeid=\"127\"><code class=\"language-plantuml\" data-language=\"plantuml\" class=\"language-plantuml\">@startuml\r\nclass Order {\r\n  -orderId: String\r\n  -orderDate: Date\r\n  +calculateTotal(): Double\r\n  +addItem(item: Product, qty: int): void\r\n}\r\n@enduml\r\n<\/code><\/pre>                <\/div>\r\n                <div class=\"vpascode-actions\">\r\n                    <a href=\"https:\/\/www.vpascode.com#plantuml:HOwn2W8n44JxGFvXonFr1r9TONELWlx0cWqIsCjYiZaGyT_TO64ppBoPOkQcMBMlx5raR0tEbLA5jtS0Hnb-eG1NhRay_ko4cW8C7MmVaMDdIpTHv6bdbVGx_qeaMZIjKpO9SAb2FUe1dleAa8lQU9DCtdsycrCXk_85\" \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 PlantUML 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#plantuml:HOwn2W8n44JxGFvXonFr1r9TONELWlx0cWqIsCjYiZaGyT_TO64ppBoPOkQcMBMlx5raR0tEbLA5jtS0Hnb-eG1NhRay_ko4cW8C7MmVaMDdIpTHv6bdbVGx_qeaMZIjKpO9SAb2FUe1dleAa8lQU9DCtdsycrCXk_85\" 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>VPasCode \u092e\u0947\u0902 \u092a\u094d\u0932\u093e\u0902\u091f\u092f\u0942\u090f\u092e\u090f\u0932 \u0938\u0902\u092a\u093e\u0926\u093f\u0924 \u0915\u0930\u0947\u0902<\/span><br \/>\n<\/a>\n<\/div>\n<\/div>\n<h3 data-nodeid=\"128\"><strong data-nodeid=\"365\">\u0938\u0902\u092c\u0902\u0927 \u092a\u094d\u0930\u0915\u093e\u0930 \u0924\u094d\u0935\u0930\u093f\u0924 \u0938\u0902\u0926\u0930\u094d\u092d<\/strong><\/h3>\n<table data-nodeid=\"130\">\n<thead data-nodeid=\"131\">\n<tr data-nodeid=\"132\">\n<th data-nodeid=\"134\">\u092a\u094d\u0930\u0915\u093e\u0930<\/th>\n<th data-nodeid=\"135\">\u092a\u094d\u0930\u0924\u0940\u0915<\/th>\n<th data-nodeid=\"136\">\u0905\u0930\u094d\u0925<\/th>\n<th data-nodeid=\"137\">\u0909\u0926\u093e\u0939\u0930\u0923<\/th>\n<\/tr>\n<\/thead>\n<tbody data-nodeid=\"142\">\n<tr data-nodeid=\"143\">\n<td data-nodeid=\"144\"><strong data-nodeid=\"373\">\u0935\u093f\u0930\u093e\u0938\u0924<\/strong><\/td>\n<td data-nodeid=\"145\">`\u2013<\/td>\n<td data-nodeid=\"146\">&gt;`<\/td>\n<td data-nodeid=\"147\">\u201c\u0939\u0948-\u090f\u0915\u201d<\/td>\n<\/tr>\n<tr data-nodeid=\"150\">\n<td data-nodeid=\"151\"><strong data-nodeid=\"384\">\u0938\u0902\u092c\u0902\u0927<\/strong><\/td>\n<td data-nodeid=\"152\"><code data-backticks=\"1\" data-nodeid=\"385\">--<\/code><\/td>\n<td data-nodeid=\"153\">\u0938\u0902\u0930\u091a\u0928\u093e\u0924\u094d\u092e\u0915 \u0932\u093f\u0902\u0915<\/td>\n<td data-nodeid=\"154\"><code data-backticks=\"1\" data-nodeid=\"387\">Order -- Customer<\/code><\/td>\n<\/tr>\n<tr data-nodeid=\"155\">\n<td data-nodeid=\"156\"><strong data-nodeid=\"391\">\u090f\u0917\u094d\u0930\u0940\u0917\u0947\u0936\u0928<\/strong><\/td>\n<td data-nodeid=\"157\"><code data-backticks=\"1\" data-nodeid=\"392\">o--<\/code><\/td>\n<td data-nodeid=\"158\">\u201c\u0939\u0948-\u090f\u0915\u201d (\u0926\u0941\u0930\u094d\u092c\u0932)<\/td>\n<td data-nodeid=\"159\"><code data-backticks=\"1\" data-nodeid=\"397\">Warehouse o-- Product<\/code><\/td>\n<\/tr>\n<tr data-nodeid=\"160\">\n<td data-nodeid=\"161\"><strong data-nodeid=\"401\">\u0938\u0902\u092f\u094b\u091c\u0928<\/strong><\/td>\n<td data-nodeid=\"162\"><code data-backticks=\"1\" data-nodeid=\"402\">*--<\/code><\/td>\n<td data-nodeid=\"163\">\u201c\u092e\u093e\u0932\u093f\u0915-\u090f\u0915\u201d (\u092e\u091c\u092c\u0942\u0924)<\/td>\n<td data-nodeid=\"164\"><code data-backticks=\"1\" data-nodeid=\"407\">Order *-- OrderItem<\/code><\/td>\n<\/tr>\n<tr data-nodeid=\"165\">\n<td data-nodeid=\"166\"><strong data-nodeid=\"411\">\u0928\u093f\u0930\u094d\u092d\u0930\u0924\u093e<\/strong><\/td>\n<td data-nodeid=\"167\"><code data-backticks=\"1\" data-nodeid=\"412\">..&gt;<\/code><\/td>\n<td data-nodeid=\"168\">\u201c\u0909\u092a\u092f\u094b\u0917 \u0915\u0930\u0924\u093e \u0939\u0948\u201d (\u0905\u0938\u094d\u0925\u093e\u092f\u0940)<\/td>\n<td data-nodeid=\"169\"><code data-backticks=\"1\" data-nodeid=\"417\">PaymentService ..&gt; Logger<\/code><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<hr data-nodeid=\"170\"\/>\n<h2 data-nodeid=\"171\"><strong data-nodeid=\"421\">\u0915\u0947\u0938 \u0938\u094d\u091f\u0921\u0940: \u0908-\u0915\u0949\u092e\u0930\u094d\u0938 \u0911\u0930\u094d\u0921\u0930 \u092e\u0948\u0928\u0947\u091c\u092e\u0947\u0902\u091f \u0938\u093f\u0938\u094d\u091f\u092e<\/strong><\/h2>\n<h3 data-nodeid=\"172\"><strong data-nodeid=\"425\">\u0935\u094d\u092f\u093e\u092a\u093e\u0930 \u0906\u0935\u0936\u094d\u092f\u0915\u0924\u093e\u090f\u0901<\/strong><\/h3>\n<p data-nodeid=\"173\">\u090f\u0915 \u0911\u0928\u0932\u093e\u0907\u0928 \u0916\u0941\u0926\u0930\u093e \u0935\u094d\u092f\u093e\u092a\u093e\u0930\u0940 \u0915\u094b \u090f\u0915 \u092a\u094d\u0930\u0923\u093e\u0932\u0940 \u0915\u0940 \u0906\u0935\u0936\u094d\u092f\u0915\u0924\u093e \u0939\u0948 \u091c\u094b:<\/p>\n<ol data-nodeid=\"174\">\n<li data-nodeid=\"175\">\n<p data-nodeid=\"176\">\u0917\u094d\u0930\u093e\u0939\u0915\u094b\u0902, \u0909\u0924\u094d\u092a\u093e\u0926\u094b\u0902 \u0914\u0930 \u0906\u0926\u0947\u0936\u094b\u0902 \u0915\u093e \u092a\u094d\u0930\u092c\u0902\u0927\u0928 \u0915\u0930\u0947<\/p>\n<\/li>\n<li data-nodeid=\"177\">\n<p data-nodeid=\"178\">\u092e\u093e\u0924\u094d\u0930\u093e \u0914\u0930 \u092e\u0942\u0932\u094d\u092f \u0915\u0947 \u0938\u093e\u0925 \u0906\u0926\u0947\u0936 \u0906\u0907\u091f\u092e \u0915\u093e \u0938\u092e\u0930\u094d\u0925\u0928 \u0915\u0930\u0947<\/p>\n<\/li>\n<li data-nodeid=\"179\">\n<p data-nodeid=\"180\">\u0915\u0908 \u092d\u0941\u0917\u0924\u093e\u0928 \u0935\u093f\u0927\u093f\u092f\u094b\u0902 \u0915\u094b \u0938\u0902\u092d\u093e\u0932\u0947<\/p>\n<\/li>\n<li data-nodeid=\"181\">\n<p data-nodeid=\"182\">\u091c\u0940\u0935\u0928\u091a\u0915\u094d\u0930 \u0915\u0947 \u092e\u093e\u0927\u094d\u092f\u092e \u0938\u0947 \u0906\u0926\u0947\u0936 \u0938\u094d\u0925\u093f\u0924\u093f \u0915\u093e \u091f\u094d\u0930\u0948\u0915 \u0915\u0930\u0947<\/p>\n<\/li>\n<li data-nodeid=\"183\">\n<p data-nodeid=\"184\">\u0909\u0924\u094d\u092a\u093e\u0926\u094b\u0902 \u0915\u094b \u0936\u094d\u0930\u0947\u0923\u093f\u092f\u094b\u0902 \u092e\u0947\u0902 \u0936\u093e\u092e\u093f\u0932 \u0939\u094b\u0928\u0947 \u0915\u0940 \u0905\u0928\u0941\u092e\u0924\u093f \u0926\u0947<\/p>\n<\/li>\n<li data-nodeid=\"185\">\n<p data-nodeid=\"186\">\u092e\u0947\u0939\u092e\u093e\u0928 \u091a\u0947\u0915\u0906\u0909\u091f \u0915\u093e \u0938\u092e\u0930\u094d\u0925\u0928 \u0915\u0930\u0947 (\u0935\u0948\u0915\u0932\u094d\u092a\u093f\u0915 \u0917\u094d\u0930\u093e\u0939\u0915 \u0938\u0902\u092c\u0902\u0927)<\/p>\n<\/li>\n<\/ol>\n<h3 data-nodeid=\"187\"><strong data-nodeid=\"436\">\u091a\u0930\u0923 1: \u0905\u0935\u0927\u093e\u0930\u0923\u093e\u0924\u094d\u092e\u0915 \u092e\u0949\u0921\u0932 (\u0915\u094d\u0937\u0947\u0924\u094d\u0930 \u0915\u0947 \u0926\u0943\u0937\u094d\u091f\u093f\u0915\u094b\u0923 \u0938\u0947)<\/strong><\/h3>\n<p data-nodeid=\"188\"><em data-nodeid=\"440\">\u092d\u093e\u0937\u093e-\u0938\u094d\u0935\u0924\u0902\u0924\u094d\u0930, \u0935\u093e\u0938\u094d\u0924\u0935\u093f\u0915 \u0926\u0941\u0928\u093f\u092f\u093e \u0915\u0940 \u0905\u0935\u0927\u093e\u0930\u0923\u093e\u0913\u0902 \u092a\u0930 \u0927\u094d\u092f\u093e\u0928 \u0915\u0947\u0902\u0926\u094d\u0930\u093f\u0924 \u0915\u0930\u0924\u093e \u0939\u0948<\/em><\/p>\n<\/p>\n<p id=\"AjOBHwj\"><img alt=\"\" class=\"alignnone size-full wp-image-24655\" decoding=\"async\" height=\"688\" loading=\"lazy\" sizes=\"auto, (max-width: 865px) 100vw, 865px\" src=\"https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/05\/img_6a0eb958147eb.png\" srcset=\"https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/05\/img_6a0eb958147eb.png 865w, https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/05\/img_6a0eb958147eb-300x239.png 300w, https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/05\/img_6a0eb958147eb-768x611.png 768w, https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/05\/img_6a0eb958147eb-150x119.png 150w, https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/05\/img_6a0eb958147eb-400x318.png 400w\" width=\"865\"\/><\/p>\n<div class=\"vpascode-viewer-container vpascode-fancy-active\">\n<div class=\"vpascode-header\">\n<span class=\"vpascode-lang-label\">PlantUML<\/span><br \/>\n<a class=\"vpascode-fancy-btn\" href=\"https:\/\/www.vpascode.com#plantuml:VLDDJyCm3BrNwd-mUa526cBN7X3Jne730F4FtCHiaV95uXmcn7_7QJj61U9KEtb-VdvExpDZuk9isx1XIx0DNb7aWXRsGPFjuM6r3SvHKWIxuD3ujcaRPJ5ds9RCGQxWesq0F3ggNnAGhK4-cXYDFsoqJfHpstnUIbzIq4Nnib9JLib4Di7NTC1CByaeMbHkaUaGqkcVqX_evwJF-a8DdueRA7sdEo4RfJ9ooJNYm6WtBXJFluaUcTn4zbxGYsEd6XTlUDOfJ6KOAPRJuicHdwUDKx8dFWOzjapeCwgg_N4ymBczN1b7eit5cUuANibYHLPpHV3t2hfr1wiLTBStDzVTF7OFqQAY37TjCvrKr7M5hI-mSQWULF0isnt1v-tyGJgZCKR2bC7u1Nu2ZWswowPw6CW6VyZYxbBBHShPeXuoiRn43SEfOjl61oP8vd1a26-JY6hDnizJ9eholAGs0uAQ_RWQbnbBKaTvHIAJApbw_TFjjY4vgForpxqayYTy0G00\" 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>VPasCode \u092e\u0947\u0902 PlantUML \u0938\u0902\u092a\u093e\u0926\u093f\u0924 \u0915\u0930\u0947\u0902<\/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\">PlantUML<\/span>\r\n                    <a href=\"https:\/\/www.vpascode.com#plantuml:ZLHTIm9157rVsFymx4iWAFcw3-5VaR8IJ46tfmWiA5SYUac52YISpKNAHD3qHV_A_9JkXxFjEfluiZjpvyuvvvwvCuM6LwnxbnSLs_BANgKabBnJSgRaKCcLaXCb1pIGAdXKSgnaH-0lQ2lvhkJKXPcVXIX5nhW1ynQ2GZ3wKK5BxvxObcqTLugD1YptE4JWIuIziYq1yP0YOvxun0K0Kvu3vHecAcYIHY1hGdI4179bMzTnWhQc7H7YHoh1Z01dN2Y7WF0MEFv61FAzXJxVo4Tn0vIn1te2u1uaqUwvtXgBW8DA0dUNkQau8qKIUW1VNbnGSa1H6KNX66wu7FPwJYl_IQ49ZFfGWzOrZZN099BIGcXSy4sd1Di_selzYr9wV8PWeAOrujhFOLJRb5I7Mdx8ydtiaw39AN5QDWdh0KTV26j9aiEDf8F8-4_w3cqhfL6Tl2EoMU4Svd8P9scVounT5Yq8tnT721FBGe0C8kHDXCG1k97W5HQlCpf4OZ0O3Rz3g44pvxxb-yMm3tjnC3XLuwJT2tVRK-xFNTx4hJ6wmELBjYO9VGf-iygtJPyc9DjMjUQLHBryTkw9scd21Uw89txJ4kOOPqwTtE8DNNvuC9-VI7g4ElnhOMVXvbVMyGm9wPtQuOIHfkBh74OjhfsUfPsuRPMg9m9Bmn8BC84d_1S0\" \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 PlantUML in VPasCode<\/span>\r\n                    <\/a>\r\n                <\/div>\r\n                                <div class=\"vpascode-code-wrapper\">\r\n                    <pre class=\"lang-plantuml\" data-nodeid=\"189\"><code class=\"language-plantuml\" data-language=\"plantuml\" class=\"language-plantuml\">@startuml\r\ntitle \u0905\u0935\u0927\u093e\u0930\u0923\u093e\u0924\u094d\u092e\u0915 \u092e\u0949\u0921\u0932: \u0908-\u0915\u0949\u092e\u0930\u094d\u0938 \u0915\u094d\u0937\u0947\u0924\u094d\u0930\r\n\r\nclass \u0917\u094d\u0930\u093e\u0939\u0915 {\r\n  \u0928\u093e\u092e\r\n  \u0908\u092e\u0947\u0932\r\n  \u0921\u093f\u0932\u0940\u0935\u0930\u0940 \u092a\u0924\u093e\r\n}\r\n\r\nclass \u0909\u0924\u094d\u092a\u093e\u0926 {\r\n  \u0928\u093e\u092e\r\n  \u0935\u093f\u0935\u0930\u0923\r\n  \u092e\u0942\u0932 \u092e\u0942\u0932\u094d\u092f\r\n}\r\n\r\nclass \u0936\u094d\u0930\u0947\u0923\u0940 {\r\n  \u0928\u093e\u092e\r\n  \u0935\u093f\u0935\u0930\u0923\r\n}\r\n\r\nclass \u0906\u0926\u0947\u0936 {\r\n  \u0906\u0926\u0947\u0936 \u0938\u0902\u0916\u094d\u092f\u093e\r\n  \u0906\u0926\u0947\u0936 \u0924\u093f\u0925\u093f\r\n  \u0938\u094d\u0925\u093f\u0924\u093f\r\n  \u0915\u0941\u0932 \u0930\u093e\u0936\u093f\r\n}\r\n\r\nclass \u0906\u0926\u0947\u0936 \u0906\u0907\u091f\u092e {\r\n  \u092e\u093e\u0924\u094d\u0930\u093e\r\n  \u0907\u0915\u093e\u0908 \u092e\u0942\u0932\u094d\u092f\r\n  \u0909\u092a\u0915\u0941\u0932 \u0930\u093e\u0936\u093f\r\n}\r\n\r\nclass \u092d\u0941\u0917\u0924\u093e\u0928 {\r\n  \u092d\u0941\u0917\u0924\u093e\u0928 \u0935\u093f\u0927\u093f\r\n  \u0932\u0947\u0928\u0926\u0947\u0928 \u0906\u0908\u0921\u0940\r\n  \u0930\u093e\u0936\u093f\r\n  \u0938\u092e\u092f\u091a\u093f\u0939\u094d\u0928\r\n}\r\n\r\n' \u0938\u0902\u092c\u0902\u0927\r\n\u0917\u094d\u0930\u093e\u0939\u0915 \"1\" -- \"0..*\" \u0906\u0926\u0947\u0936 : \u0930\u0916\u0924\u093e \u0939\u0948 &gt;\r\n\u0906\u0926\u0947\u0936 \"1\" *-- \"1..*\" \u0906\u0926\u0947\u0936 \u0906\u0907\u091f\u092e : \u0938\u092e\u093e\u0935\u0947\u0936 \u0915\u0930\u0924\u093e \u0939\u0948 &gt;\r\n\u0909\u0924\u094d\u092a\u093e\u0926 \"1\" -- \"0..*\" \u0906\u0926\u0947\u0936 \u0906\u0907\u091f\u092e : \u0936\u093e\u092e\u093f\u0932 \u0939\u094b\u0924\u093e \u0939\u0948 &gt;\r\n\u0909\u0924\u094d\u092a\u093e\u0926 \"0..*\" -- \"1\" \u0936\u094d\u0930\u0947\u0923\u0940 : \u0938\u0902\u092c\u0902\u0927\u093f\u0924 \u0939\u0948 &gt;\r\n\u0906\u0926\u0947\u0936 \"1\" -- \"1..*\" \u092d\u0941\u0917\u0924\u093e\u0928 : \u0928\u093f\u092a\u091f\u093e\u092f\u093e \u091c\u093e\u0924\u093e \u0939\u0948 &gt;\r\n\r\nnote right of \u0906\u0926\u0947\u0936\r\n  \u090f\u0915 \u0906\u0926\u0947\u0936 \u0917\u094d\u0930\u093e\u0939\u0915 \u0915\u0947\r\n  \u0916\u0930\u0940\u0926\u093e\u0930\u0940 \u0915\u0940 \u0907\u091a\u094d\u091b\u093e \u0914\u0930 \u0932\u0947\u0928\u0926\u0947\u0928 \u0915\u093e \u092a\u094d\u0930\u0924\u093f\u0928\u093f\u0927\u093f\u0924\u094d\u0935 \u0915\u0930\u0924\u093e \u0939\u0948\r\nend note\r\n\r\n@enduml\r\n<\/code><\/pre>                <\/div>\r\n                <div class=\"vpascode-actions\">\r\n                    <a href=\"https:\/\/www.vpascode.com#plantuml:ZLHTIm9157rVsFymx4iWAFcw3-5VaR8IJ46tfmWiA5SYUac52YISpKNAHD3qHV_A_9JkXxFjEfluiZjpvyuvvvwvCuM6LwnxbnSLs_BANgKabBnJSgRaKCcLaXCb1pIGAdXKSgnaH-0lQ2lvhkJKXPcVXIX5nhW1ynQ2GZ3wKK5BxvxObcqTLugD1YptE4JWIuIziYq1yP0YOvxun0K0Kvu3vHecAcYIHY1hGdI4179bMzTnWhQc7H7YHoh1Z01dN2Y7WF0MEFv61FAzXJxVo4Tn0vIn1te2u1uaqUwvtXgBW8DA0dUNkQau8qKIUW1VNbnGSa1H6KNX66wu7FPwJYl_IQ49ZFfGWzOrZZN099BIGcXSy4sd1Di_selzYr9wV8PWeAOrujhFOLJRb5I7Mdx8ydtiaw39AN5QDWdh0KTV26j9aiEDf8F8-4_w3cqhfL6Tl2EoMU4Svd8P9scVounT5Yq8tnT721FBGe0C8kHDXCG1k97W5HQlCpf4OZ0O3Rz3g44pvxxb-yMm3tjnC3XLuwJT2tVRK-xFNTx4hJ6wmELBjYO9VGf-iygtJPyc9DjMjUQLHBryTkw9scd21Uw89txJ4kOOPqwTtE8DNNvuC9-VI7g4ElnhOMVXvbVMyGm9wPtQuOIHfkBh74OjhfsUfPsuRPMg9m9Bmn8BC84d_1S0\" \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 PlantUML 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#plantuml:VLDDJyCm3BrNwd-mUa526cBN7X3Jne730F4FtCHiaV95uXmcn7_7QJj61U9KEtb-VdvExpDZuk9isx1XIx0DNb7aWXRsGPFjuM6r3SvHKWIxuD3ujcaRPJ5ds9RCGQxWesq0F3ggNnAGhK4-cXYDFsoqJfHpstnUIbzIq4Nnib9JLib4Di7NTC1CByaeMbHkaUaGqkcVqX_evwJF-a8DdueRA7sdEo4RfJ9ooJNYm6WtBXJFluaUcTn4zbxGYsEd6XTlUDOfJ6KOAPRJuicHdwUDKx8dFWOzjapeCwgg_N4ymBczN1b7eit5cUuANibYHLPpHV3t2hfr1wiLTBStDzVTF7OFqQAY37TjCvrKr7M5hI-mSQWULF0isnt1v-tyGJgZCKR2bC7u1Nu2ZWswowPw6CW6VyZYxbBBHShPeXuoiRn43SEfOjl61oP8vd1a26-JY6hDnizJ9eholAGs0uAQ_RWQbnbBKaTvHIAJApbw_TFjjY4vgForpxqayYTy0G00\" 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>VPasCode \u092e\u0947\u0902 PlantUML \u0938\u0902\u092a\u093e\u0926\u093f\u0924 \u0915\u0930\u0947\u0902<\/span><br \/>\n<\/a>\n<\/div>\n<\/div>\n<p data-nodeid=\"190\"><strong data-nodeid=\"444\">\u092e\u0941\u0916\u094d\u092f \u0921\u093f\u091c\u093c\u093e\u0907\u0928 \u0928\u093f\u0930\u094d\u0923\u092f:<\/strong><\/p>\n<ul data-nodeid=\"191\">\n<li data-nodeid=\"192\">\n<p data-nodeid=\"193\">\u0938\u0902\u0918\u091f\u0928 (<code data-backticks=\"1\" data-nodeid=\"446\">*--<\/code>) \u0915\u0947 \u092c\u0940\u091a\u00a0<code data-backticks=\"1\" data-nodeid=\"448\">\u0906\u0926\u0947\u0936<\/code>\u00a0\u0914\u0930\u00a0<code data-backticks=\"1\" data-nodeid=\"450\">\u0906\u0926\u0947\u0936 \u0906\u0907\u091f\u092e<\/code>: \u0906\u0907\u091f\u092e \u0915\u093e \u0906\u0926\u0947\u0936 \u0915\u0947 \u092c\u093f\u0928\u093e \u0905\u0938\u094d\u0924\u093f\u0924\u094d\u0935 \u0928\u0939\u0940\u0902 \u0939\u094b \u0938\u0915\u0924\u093e<\/p>\n<\/li>\n<li data-nodeid=\"194\">\n<p data-nodeid=\"195\">\u0915\u0947 \u092c\u0940\u091a \u0938\u0902\u092c\u0902\u0927\u00a0<code data-backticks=\"1\" data-nodeid=\"453\">\u0909\u0924\u094d\u092a\u093e\u0926<\/code>\u00a0\u0914\u0930\u00a0<code data-backticks=\"1\" data-nodeid=\"455\">\u0936\u094d\u0930\u0947\u0923\u0940<\/code>: \u0909\u0924\u094d\u092a\u093e\u0926\u094b\u0902 \u0915\u094b \u092a\u0941\u0928\u0930\u094d\u0936\u094d\u0930\u0947\u0923\u0940\u0915\u0943\u0924 \u0915\u093f\u092f\u093e \u091c\u093e \u0938\u0915\u0924\u093e \u0939\u0948<\/p>\n<\/li>\n<li data-nodeid=\"196\">\n<p data-nodeid=\"197\">\u0917\u0941\u0923\u0928 \u0915\u0940 \u0938\u0902\u0916\u094d\u092f\u093e\u00a0<code data-backticks=\"1\" data-nodeid=\"458\">0..*<\/code>\u00a0\u0917\u094d\u0930\u093e\u0939\u0915-\u0906\u0926\u0947\u0936 \u0915\u0947 \u0932\u093f\u090f: \u0905\u0924\u093f\u0925\u093f \u0916\u0930\u0940\u0926\u093e\u0930\u0940 \u0938\u092e\u0930\u094d\u0925\u093f\u0924 \u0939\u0948<\/p>\n<\/li>\n<\/ul>\n<hr data-nodeid=\"198\"\/>\n<h3 data-nodeid=\"199\"><strong data-nodeid=\"463\">\u091a\u0930\u0923 2: \u0935\u093f\u0928\u093f\u0930\u094d\u092e\u093e\u0923 \u092e\u0949\u0921\u0932 (\u0907\u0902\u091f\u0930\u092b\u0947\u0938 \u0926\u0943\u0937\u094d\u091f\u093f\u0915\u094b\u0923)<\/strong><\/h3>\n<p data-nodeid=\"200\"><em data-nodeid=\"467\">\u0938\u0949\u092b\u094d\u091f\u0935\u0947\u092f\u0930 \u0905\u0928\u0941\u092c\u0902\u0927\u094b\u0902 \u092a\u0930 \u0927\u094d\u092f\u093e\u0928 \u0915\u0947\u0902\u0926\u094d\u0930\u093f\u0924 \u0915\u0930\u0947\u0902, \u0915\u093e\u0930\u094d\u092f\u093e\u0928\u094d\u0935\u092f\u0928 \u0935\u093f\u0935\u0930\u0923 \u091b\u093f\u092a\u093e\u090f\u0902<\/em><\/p>\n<\/p>\n<p id=\"fNvtqQK\"><img alt=\"\" class=\"alignnone size-full wp-image-24656\" decoding=\"async\" height=\"436\" loading=\"lazy\" sizes=\"auto, (max-width: 1632px) 100vw, 1632px\" src=\"https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/05\/img_6a0eb9a2b0b04.png\" srcset=\"https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/05\/img_6a0eb9a2b0b04.png 1632w, https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/05\/img_6a0eb9a2b0b04-300x80.png 300w, https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/05\/img_6a0eb9a2b0b04-1030x275.png 1030w, https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/05\/img_6a0eb9a2b0b04-768x205.png 768w, https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/05\/img_6a0eb9a2b0b04-1536x410.png 1536w, https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/05\/img_6a0eb9a2b0b04-150x40.png 150w, https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/05\/img_6a0eb9a2b0b04-400x107.png 400w\" width=\"1632\"\/><\/p>\n<p data-nodeid=\"200\"><em data-nodeid=\"467\">\u00a0<\/em><\/p>\n<div class=\"vpascode-viewer-container vpascode-fancy-active\">\n<div class=\"vpascode-header\">\n<span class=\"vpascode-lang-label\">PlantUML<\/span><br \/>\n<a class=\"vpascode-fancy-btn\" href=\"https:\/\/www.vpascode.com#plantuml:TLHBRkCm3DqRy1suQu89SW1Z47I0R0nCqIBf1LIPJeJAb4UY0XZ5t7resSuaZhipoSV7tvEV0olFiR5vneOjmh55RMgZ5Hj7yE8gj0KSqL-CHYY9qTTAOyYpF3EJ1UMhhz1FgAyy0_YXFIh655Zf6DWrwCjAkDWREct0C3QXWDycyC-4AiMnVt_ThGj8jdmdeXFomE8IwaennyMscWeUMN4CyuGDXEGVymQGi7muPr7HqBMoEjg9vzsniWjrNnnXbsT_PrjuKrs3n6_UoOQ2y-Ccsi4UeuzTjKDWZwoCbUv6eCorlXe73D5oelDOHwecDlQAWjBzjMuvLUCYyTYfq1nIqiGoRxoaYt0vtyrEU4Rz-UiYNQaFOmrtAncbYfflA_s9YaGwNG52EDkcno24s5zsuHgt2ZWaP19TZzuz4Cbdm1lKmbKkpbJZRDgg4Axo6CUPPGmZFYWpkRyLPufoBukh2iIneAl7HaQA_wAutsJotYrpK3KP4PJSv5vrJx375gb2qgP_ZVSlSBlTBHorW1Wmm6uH_Q3T0hIJZHcIn_1DqdM_1NZaw2dXyemSevoFPRFWwlk_Gp_K7cj3Gifdb28a4jOCjTHC5u96aJfXtyssHvTDQvELxXuatC55-GvMZT7UXO5t0uqZ9o8zRm1PRzTv9kk1lfM-fMSnv2_t3m00\" 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>VPasCode \u092e\u0947\u0902 PlantUML \u0938\u0902\u092a\u093e\u0926\u093f\u0924 \u0915\u0930\u0947\u0902<\/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\">PlantUML<\/span>\r\n                    <a href=\"https:\/\/www.vpascode.com#plantuml:ZLNDQXH14BuFp3lqpGH37c2H9K8k2qh29Y_GcUd4mTdks5spi8W70nfbbPo2Hn5xDAWn4eYkb-ohzADONJqpxiwEu6Meggxw-gkVhjaom3KKepoE88DSC6Tld9qxUq7V7wvyw-ntPs-T_SYyLBvszeEprptKPguy9VzRL50wSVQzZx5VwM0MHt6KIH3wa2U23NPqAlIUqECCjQTnnDZTH0iEWWxMaiA06WazI7ji3tGcZpPO1c9aUkn1Pk0UUGtGiBs_qr_lCT9H9g0Z0G55aLS3qVOhZjFwmZtWK9Xsm0OpPA_YWXEY72YL2ou3QvudHLxZx2lWUSUz3vKKapXwrgh2Bf-CX8HThH9XZD9L9Ow3NfskiZeE1zi2U9OZkyeHyrflbA4mHGu4fyLX8TCQ3JINXYUGARc8oKUga50nHPWX1TKeRU83EKOifIUj5ZuIoUFxOsJ53x8yWyaQff8M2IpUzAJW4kThqcC8sAgc5WO1XUziHpSM9s18dfpIG7D_1GX58nQyEheoLbbQvPRat9XcFAfqMX4XnPN99FC_XvDEmOz5CmLew9YhLI8LnD-XMAuaMPUA6QPQPZXGs9FbgRl3bj_n9JrEIw_v39zh72s_oStDVaUR_Kl7H__5sIjNJfrzX_fvWuJARrU-OlrEi9LXxxKeVQ9DyHED_u_QTCo3NRlo3QsTsvN8E98A18u8OFUOEbpUGBvmphviA32VegU45BxHBljSiofFwIBF-Wob5pw5yddZ5doc1E2ZvrHfvFEBPDkLcIjj871Edg4OLoHVa7n3gh__ijh7tdeHmgUqV7si3UG8qfwmjNfPdn8doiRtR5PV4PRxR2FiyYdXJklaoheWThuUHqAcp1VG5t8B5Vn9_040\" \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 PlantUML in VPasCode<\/span>\r\n                    <\/a>\r\n                <\/div>\r\n                                <div class=\"vpascode-code-wrapper\">\r\n                    <pre class=\"lang-plantuml\" data-nodeid=\"201\"><code class=\"language-plantuml\" data-language=\"plantuml\" class=\"language-plantuml\">@startuml\r\ntitle \u0935\u093f\u0928\u093f\u0930\u094d\u092e\u093e\u0923 \u092e\u0949\u0921\u0932: \u0938\u0947\u0935\u093e \u0907\u0902\u091f\u0930\u092b\u0947\u0938\r\n\r\ninterface IOrderService {\r\n  +createOrder(customerId: String, items: List&lt;OrderItemDTO&gt;): OrderDTO\r\n  +getOrder(orderId: String): OrderDTO\r\n  +updateOrderStatus(orderId: String, status: OrderStatus): boolean\r\n  +calculateOrderTotal(orderId: String): Money\r\n}\r\n\r\ninterface IPaymentProcessor {\r\n  +processPayment(orderId: String, paymentDetails: PaymentDTO): PaymentResult\r\n  +refundPayment(transactionId: String, amount: Money): RefundResult\r\n}\r\n\r\ninterface IInventoryService {\r\n  +checkAvailability(productId: String, quantity: int): boolean\r\n  +reserveItems(orderId: String, items: List&lt;ReservationItem&gt;): boolean\r\n  +releaseReservation(orderId: String): void\r\n}\r\n\r\nclass OrderDTO {\r\n  +orderId: String\r\n  +customerId: String\r\n  +items: List&lt;OrderItemDTO&gt;\r\n  +total: Money\r\n  +status: OrderStatus\r\n}\r\n\r\nclass OrderItemDTO {\r\n  +productId: String\r\n  +quantity: int\r\n  +unitPrice: Money\r\n}\r\n\r\n' \u0928\u093f\u0930\u094d\u092d\u0930\u0924\u093e\u090f\u0902\r\nIOrderService ..&gt; IInventoryService : \u0909\u092a\u092f\u094b\u0917 \u0915\u0930\u0924\u093e \u0939\u0948 &gt;\r\nIOrderService ..&gt; IPaymentProcessor : \u0928\u093f\u0930\u094d\u0926\u0947\u0936\u0928 \u0915\u0930\u0924\u093e \u0939\u0948 &gt;\r\nIOrderService ..&gt; OrderDTO : \u0932\u094c\u091f\u093e\u0924\u093e \u0939\u0948 &gt;\r\n\r\nnote bottom of IOrderService\r\n  \u0906\u0926\u0947\u0936 \u092a\u094d\u0930\u092c\u0902\u0927\u0928 \u0915\u0947 \u0932\u093f\u090f \u0905\u0928\u0941\u092c\u0902\u0927 \u0915\u094b \u092a\u0930\u093f\u092d\u093e\u0937\u093f\u0924 \u0915\u0930\u0924\u093e \u0939\u0948\u0964\r\n  \u0915\u093e\u0930\u094d\u092f\u093e\u0928\u094d\u0935\u092f\u0928 \u092d\u093f\u0928\u094d\u0928 \u0939\u094b \u0938\u0915\u0924\u0947 \u0939\u0948\u0902 (\u092e\u093e\u0907\u0915\u094d\u0930\u094b\u0938\u0930\u094d\u0935\u093f\u0938, \u092e\u094b\u0928\u094b\u0932\u093f\u0925 \u0906\u0926\u093f)\r\nend note\r\n\r\n@enduml\r\n<\/code><\/pre>                <\/div>\r\n                <div class=\"vpascode-actions\">\r\n                    <a href=\"https:\/\/www.vpascode.com#plantuml:ZLNDQXH14BuFp3lqpGH37c2H9K8k2qh29Y_GcUd4mTdks5spi8W70nfbbPo2Hn5xDAWn4eYkb-ohzADONJqpxiwEu6Meggxw-gkVhjaom3KKepoE88DSC6Tld9qxUq7V7wvyw-ntPs-T_SYyLBvszeEprptKPguy9VzRL50wSVQzZx5VwM0MHt6KIH3wa2U23NPqAlIUqECCjQTnnDZTH0iEWWxMaiA06WazI7ji3tGcZpPO1c9aUkn1Pk0UUGtGiBs_qr_lCT9H9g0Z0G55aLS3qVOhZjFwmZtWK9Xsm0OpPA_YWXEY72YL2ou3QvudHLxZx2lWUSUz3vKKapXwrgh2Bf-CX8HThH9XZD9L9Ow3NfskiZeE1zi2U9OZkyeHyrflbA4mHGu4fyLX8TCQ3JINXYUGARc8oKUga50nHPWX1TKeRU83EKOifIUj5ZuIoUFxOsJ53x8yWyaQff8M2IpUzAJW4kThqcC8sAgc5WO1XUziHpSM9s18dfpIG7D_1GX58nQyEheoLbbQvPRat9XcFAfqMX4XnPN99FC_XvDEmOz5CmLew9YhLI8LnD-XMAuaMPUA6QPQPZXGs9FbgRl3bj_n9JrEIw_v39zh72s_oStDVaUR_Kl7H__5sIjNJfrzX_fvWuJARrU-OlrEi9LXxxKeVQ9DyHED_u_QTCo3NRlo3QsTsvN8E98A18u8OFUOEbpUGBvmphviA32VegU45BxHBljSiofFwIBF-Wob5pw5yddZ5doc1E2ZvrHfvFEBPDkLcIjj871Edg4OLoHVa7n3gh__ijh7tdeHmgUqV7si3UG8qfwmjNfPdn8doiRtR5PV4PRxR2FiyYdXJklaoheWThuUHqAcp1VG5t8B5Vn9_040\" \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 PlantUML 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#plantuml:TLHBRkCm3DqRy1suQu89SW1Z47I0R0nCqIBf1LIPJeJAb4UY0XZ5t7resSuaZhipoSV7tvEV0olFiR5vneOjmh55RMgZ5Hj7yE8gj0KSqL-CHYY9qTTAOyYpF3EJ1UMhhz1FgAyy0_YXFIh655Zf6DWrwCjAkDWREct0C3QXWDycyC-4AiMnVt_ThGj8jdmdeXFomE8IwaennyMscWeUMN4CyuGDXEGVymQGi7muPr7HqBMoEjg9vzsniWjrNnnXbsT_PrjuKrs3n6_UoOQ2y-Ccsi4UeuzTjKDWZwoCbUv6eCorlXe73D5oelDOHwecDlQAWjBzjMuvLUCYyTYfq1nIqiGoRxoaYt0vtyrEU4Rz-UiYNQaFOmrtAncbYfflA_s9YaGwNG52EDkcno24s5zsuHgt2ZWaP19TZzuz4Cbdm1lKmbKkpbJZRDgg4Axo6CUPPGmZFYWpkRyLPufoBukh2iIneAl7HaQA_wAutsJotYrpK3KP4PJSv5vrJx375gb2qgP_ZVSlSBlTBHorW1Wmm6uH_Q3T0hIJZHcIn_1DqdM_1NZaw2dXyemSevoFPRFWwlk_Gp_K7cj3Gifdb28a4jOCjTHC5u96aJfXtyssHvTDQvELxXuatC55-GvMZT7UXO5t0uqZ9o8zRm1PRzTv9kk1lfM-fMSnv2_t3m00\" 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>VPasCode \u092e\u0947\u0902 PlantUML \u0938\u0902\u092a\u093e\u0926\u093f\u0924 \u0915\u0930\u0947\u0902<\/span><br \/>\n<\/a>\n<\/div>\n<\/div>\n<p data-nodeid=\"202\"><strong data-nodeid=\"471\">\u0906\u0930\u094d\u0915\u093f\u091f\u0947\u0915\u094d\u091a\u0930\u0932 \u0932\u093e\u092d:<\/strong><\/p>\n<ul data-nodeid=\"203\">\n<li data-nodeid=\"204\">\n<p data-nodeid=\"205\">\u0907\u0902\u091f\u0930\u092b\u0947\u0938 \u0935\u093f\u092d\u093e\u091c\u0928 \u0938\u094d\u0935\u0924\u0902\u0924\u094d\u0930 \u0921\u0947\u092a\u094d\u0932\u0949\u092f\u092e\u0947\u0902\u091f \u0915\u0940 \u0905\u0928\u0941\u092e\u0924\u093f \u0926\u0947\u0924\u093e \u0939\u0948<\/p>\n<\/li>\n<li data-nodeid=\"206\">\n<p data-nodeid=\"207\">DTOs \u0906 inter\u0928\u0932 \u092e\u0949\u0921\u0932 \u0915\u094b API \u0905\u0928\u0941\u092c\u0902\u0927\u094b\u0902 \u0938\u0947 \u0905\u0932\u0917 \u0915\u0930\u0924\u0947 \u0939\u0948\u0902<\/p>\n<\/li>\n<li data-nodeid=\"208\">\n<p data-nodeid=\"209\">\u0928\u093f\u0930\u094d\u092d\u0930\u0924\u093e\u090f\u0902 \u0938\u094d\u092a\u0937\u094d\u091f \u0930\u0942\u092a \u0938\u0947 \u092e\u093e\u0907\u0915\u094d\u0930\u094b\u0938\u0930\u094d\u0935\u093f\u0938 \u0915\u0947 \u0932\u093f\u090f \u0938\u0947\u0935\u093e \u0938\u0940\u092e\u093e\u0913\u0902 \u0915\u094b \u0926\u0930\u094d\u0936\u093e\u0924\u0940 \u0939\u0948\u0902<\/p>\n<\/li>\n<\/ul>\n<hr data-nodeid=\"210\"\/>\n<h3 data-nodeid=\"211\"><strong data-nodeid=\"478\">\u091a\u0930\u0923 3: \u0915\u093e\u0930\u094d\u092f\u093e\u0928\u094d\u0935\u092f\u0928 \u092e\u0949\u0921\u0932 (\u0915\u094b\u0921 \u0926\u0943\u0937\u094d\u091f\u093f\u0915\u094b\u0923)<\/strong><\/h3>\n<p data-nodeid=\"212\"><em data-nodeid=\"482\">\u091c\u093e\u0935\u093e\/\u0938\u094d\u092a\u094d\u0930\u093f\u0902\u0917 \u092c\u0942\u091f \u0915\u093e\u0930\u094d\u092f\u093e\u0928\u094d\u0935\u092f\u0928 \u0915\u0947 \u0932\u093f\u090f \u0924\u0915\u0928\u0940\u0915-\u0935\u093f\u0936\u093f\u0937\u094d\u091f \u0935\u093f\u0935\u0930\u0923<\/em><\/p>\n<p id=\"ZSqOdQO\"><img alt=\"\" class=\"alignnone size-full wp-image-24657\" decoding=\"async\" height=\"959\" loading=\"lazy\" sizes=\"auto, (max-width: 1738px) 100vw, 1738px\" src=\"https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/05\/img_6a0eb9e55e69a.png\" srcset=\"https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/05\/img_6a0eb9e55e69a.png 1738w, https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/05\/img_6a0eb9e55e69a-300x166.png 300w, https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/05\/img_6a0eb9e55e69a-1030x568.png 1030w, https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/05\/img_6a0eb9e55e69a-768x424.png 768w, https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/05\/img_6a0eb9e55e69a-1536x848.png 1536w, https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/05\/img_6a0eb9e55e69a-150x83.png 150w, https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/05\/img_6a0eb9e55e69a-400x221.png 400w\" width=\"1738\"\/><\/p>\n<div class=\"vpascode-viewer-container vpascode-fancy-active\">\n<div class=\"vpascode-header\">\n<span class=\"vpascode-lang-label\">PlantUML<\/span><br \/>\n<a class=\"vpascode-fancy-btn\" href=\"https:\/\/www.vpascode.com#plantuml:TLLBRzf04BuZyHz6kTG9uAfNgur2WBQk2450Ufzu9x2AxNNsGOIg_FVEsklmIYwBvptppOCROr5RL-JTZfKs9qYBAgU2IejMgXBkbA0yWJ-unQ_BIijo3RTAMHZbQ0oPRgVRgJ1xnZL1fegO-2b8PnGhBKZ7x4VQ7VphTW0oRmBtdjym00OtgO1QCnK9F3oauvP_X-LkfUvBTkkCLUmpWL7uQdLOkb9UCShGP2Zent0wlGHfgJ09JAMnt-jeAJEkWr4TR8oMM45bcFlFbImeY1aDwzYujblMH91OPJ4V5igLDe5RkHvJ9WlC6sdpzb087okgj18kOxrvyz675xjBG9RsCe6jaYBeS_pCvJu3xpowF7VSAr0_3yro8wkAH7HW_kQV4rXzy2DeFHIV8rjZ4MezbvuM4JHU7DOzhSi9F5TAEzSoeq-HMPDTkaVxSPdlfL3fYaFesrhcazaudVrgYD7zx6Uwk9k4WfQ_q_cy9SQJQVfticZ9qN0scaod3SbHtZuVrmftVkXZGthBXHnExBmHBGyb7ggXi-fLQX8GZ7zn9r-HaPaVqUVwDV0BgfIHLkbTQC6USGGTzo4ZOuBFw6XR-Y2iUe-te1T7ni_OEyDKgZJjS6ynbu9p2j8nMPIvYJvsiH_JWQkyLPrZYqNTdjDSskKvKlfeP7boI3yXWtcCL8jjBzkWNbE4P-lMXmmr1npn6_Bd02kDfS7C7omksULXBdkQdbmf8hiN-sINrf-nFfnxPrUBscJlfPsQBop9wvDeU1VvA3HtxEBR1LmD1lmRnrSN1rkO-Fcg--clw7Mh7yVNf_EKWA2AIc6WKJmH7rYqAF7gjKVQm5QYj-fsIcK9j5nlBAYdVIQ-Y9j9SuQnPANchXTO6R0AkBFuY8Q0VtAAlVPeVqnv8utJP9gR2XLfmrSLNgNTD4FC1fmw-DW-Xnic-B_aFm00\" 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>VPasCode \u092e\u0947\u0902 PlantUML \u0938\u0902\u092a\u093e\u0926\u093f\u0924 \u0915\u0930\u0947\u0902<\/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\">PlantUML<\/span>\r\n                    <a href=\"https:\/\/www.vpascode.com#plantuml:ZLLRQnD157uFv3yCVJ6zHNnTj3GcKGDf6vBe-xWxJGTtTzAPsPOWFYXe5V5H5154c6YHMeFWfI_jNzcVufapkxcsuClidFivtvmzPrDfAdKIXSM2vZfa93LlKtEUcb4wV9EQ7tW_nlil98z1upGTlahDvzJyz83wY3eWFR-Uch-e-WtFKMekKlCiDUz0woGTmkqJ-hV2dsW5waTm5Wl5Gf_wZsYF4Lz4PGP7nAJFoa86J9PP3CaDoEDYWH0_f4gH7Sjt34BMDni1GSr6u97xznkrdBz5uq5NxCJWDb5QW4-FLBDRhWFIhh2A9PygdmRiLgNPN2PSiqXvfCcLledH6i3Oo8mmM8rg1Wh2fw6zTdd4CZ60gXCmHhiE4fb42qt3IYIIM7laDk_LcCyZ6ZgfErTf4DXOfRuKGUA3NijTriY-7dY4nthP8mU21va-nFUJq6PWdPUM5nslHbG-ggZE7k_tML2QCdzYZpbORV0PQ2qKLoEBM6IrBahdYyWqzXEARuhbPBmavhebkS-kHAR7T2Tvg2ylSrmAYvDe6lgybbPzkzROlkk8wixsdKPxgvuLrBdNQBLoebPlDXxKspbPhMnNwysc8o7AawlRjKy74JHhMJ5v08LCTspBYJhJ4WjL9T7Ya4iMaCpuBhpa8GLaMZFqeZu2tsPzeRWMSf0zmOGn0nsyWy-KodoMPlwMDH9eCOxNPli9KxR7nWpL5x7Ac_k0XZo0d39fZMdAGrMwtCMaJTUJlhN277Ciy7dcSyb_dXcboreMEeV9NGfWpYALOxlgxr7POoMwyBkj4PzA25Y5CyiV0dGbZHNrDHSnb9o4ML-kIhQRn459JyGssOwMFEwjaKNluAgD9XClUTTS8tRcsPbuWkVNOi5DigKRIsHbVHs-vVBAqjH_w8qjtiFujBFOd9EDtAnStfXlB6jmZ9FNZV3lE8XDPZQdF6MVW-VXWBV3-Mk-0aw9czJ_iHmsR9Mnq8n8tjlJHEnEQh50RDRTA4_DSpHzROkoE-2tMosVaVY4da_SSY0kUrmP5ow3IJwmYbx2le7R6JepJdfcsKDZ8rOdGvrWacVE-caEqsyiu0FUZIjnDEF8yIxWyo8rBhjJHtnngRkbTkHU2X8TZjzibA-xFsFt8tHwPCKsGHO7nE9bSTi40bRnFm00\" \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 PlantUML in VPasCode<\/span>\r\n                    <\/a>\r\n                <\/div>\r\n                                <div class=\"vpascode-code-wrapper\">\r\n                    <pre class=\"lang-plantuml\" data-nodeid=\"213\"><code class=\"language-plantuml\" data-language=\"plantuml\" class=\"language-plantuml\">@startuml\r\ntitle \u0915\u093e\u0930\u094d\u092f\u093e\u0928\u094d\u0935\u092f\u0928 \u092e\u0949\u0921\u0932: \u091c\u093e\u0935\u093e\/\u0938\u094d\u092a\u094d\u0930\u093f\u0902\u0917 \u092c\u0942\u091f \u0915\u094d\u0932\u093e\u0938\u0947\u0938\r\n\r\npackage com.ecommerce.order.entity {\r\n  class Order {\r\n    -@Id orderId: UUID\r\n    -@ManyToOne customer: Customer\r\n    -@OneToMany(cascade=ALL) items: List&lt;OrderItem&gt;\r\n    -orderDate: LocalDateTime\r\n    -status: OrderStatus\r\n    -totalAmount: BigDecimal\r\n    \r\n    +addItem(product: Product, qty: int): void\r\n    +calculateTotal(): BigDecimal\r\n    +markAsShipped(): void\r\n  }\r\n  \r\n  class OrderItem {\r\n    -@Id itemId: UUID\r\n    -@ManyToOne order: Order\r\n    -@ManyToOne product: Product\r\n    -quantity: int\r\n    -unitPrice: BigDecimal\r\n    \r\n    +getSubtotal(): BigDecimal\r\n  }\r\n  \r\n  enum OrderStatus {\r\n    PENDING\r\n    CONFIRMED\r\n    SHIPPED\r\n    DELIVERED\r\n    CANCELLED\r\n  }\r\n}\r\n\r\npackage com.ecommerce.payment.service {\r\n  class PaymentService {\r\n    -@Autowired paymentGateway: PaymentGateway\r\n    -@Autowired orderRepository: OrderRepository\r\n    \r\n    +processPayment(orderId: UUID, dto: PaymentRequest): PaymentResponse\r\n    -validatePaymentDetails(dto: PaymentRequest): void\r\n    -updateOrderPaymentStatus(orderId: UUID, status: PaymentStatus): void\r\n  }\r\n  \r\n  interface PaymentGateway {\r\n    +charge(amount: BigDecimal, card: CardDetails): TransactionResult\r\n    +refund(transactionId: String, amount: BigDecimal): RefundResult\r\n  }\r\n}\r\n\r\n' \u0938\u0902\u092c\u0902\u0927\r\nOrder \"1\" *-- \"1..*\" OrderItem : \u0938\u0902\u0918\u091f\u0928\u093e &gt;\r\nOrder ..&gt; PaymentService : \u0928\u093f\u0930\u094d\u092d\u0930\u0924\u093e &gt;\r\nPaymentService ..&gt; PaymentGateway : \u092e\u093e\u0927\u094d\u092f\u092e \u0938\u0947 \u0915\u093e\u0930\u094d\u092f\u093e\u0928\u094d\u0935\u092f\u0928 &gt;\r\n\r\nnote right of OrderItem\r\n  @Entity \u0905\u0928\u094b\u091f\u0947\u0936\u0928 \u0921\u0947\u091f\u093e\u092c\u0947\u0938 \u0924\u093e\u0932\u093f\u0915\u093e \u0938\u0947 \u092e\u0948\u092a \u0939\u094b\u0924\u093e \u0939\u0948\u0964\r\n  Cascade=ALL \u092f\u0939 \u0938\u0941\u0928\u093f\u0936\u094d\u091a\u093f\u0924 \u0915\u0930\u0924\u093e \u0939\u0948 \u0915\u093f \u0906\u0907\u091f\u092e \u0906\u0926\u0947\u0936 \u0915\u0947 \u0938\u093e\u0925 \u0938\u0902\u0930\u0915\u094d\u0937\u093f\u0924 \u0930\u0939\u0947\u0902\u0964\r\nend note\r\n\r\n@enduml\r\n<\/code><\/pre>                <\/div>\r\n                <div class=\"vpascode-actions\">\r\n                    <a href=\"https:\/\/www.vpascode.com#plantuml:ZLLRQnD157uFv3yCVJ6zHNnTj3GcKGDf6vBe-xWxJGTtTzAPsPOWFYXe5V5H5154c6YHMeFWfI_jNzcVufapkxcsuClidFivtvmzPrDfAdKIXSM2vZfa93LlKtEUcb4wV9EQ7tW_nlil98z1upGTlahDvzJyz83wY3eWFR-Uch-e-WtFKMekKlCiDUz0woGTmkqJ-hV2dsW5waTm5Wl5Gf_wZsYF4Lz4PGP7nAJFoa86J9PP3CaDoEDYWH0_f4gH7Sjt34BMDni1GSr6u97xznkrdBz5uq5NxCJWDb5QW4-FLBDRhWFIhh2A9PygdmRiLgNPN2PSiqXvfCcLledH6i3Oo8mmM8rg1Wh2fw6zTdd4CZ60gXCmHhiE4fb42qt3IYIIM7laDk_LcCyZ6ZgfErTf4DXOfRuKGUA3NijTriY-7dY4nthP8mU21va-nFUJq6PWdPUM5nslHbG-ggZE7k_tML2QCdzYZpbORV0PQ2qKLoEBM6IrBahdYyWqzXEARuhbPBmavhebkS-kHAR7T2Tvg2ylSrmAYvDe6lgybbPzkzROlkk8wixsdKPxgvuLrBdNQBLoebPlDXxKspbPhMnNwysc8o7AawlRjKy74JHhMJ5v08LCTspBYJhJ4WjL9T7Ya4iMaCpuBhpa8GLaMZFqeZu2tsPzeRWMSf0zmOGn0nsyWy-KodoMPlwMDH9eCOxNPli9KxR7nWpL5x7Ac_k0XZo0d39fZMdAGrMwtCMaJTUJlhN277Ciy7dcSyb_dXcboreMEeV9NGfWpYALOxlgxr7POoMwyBkj4PzA25Y5CyiV0dGbZHNrDHSnb9o4ML-kIhQRn459JyGssOwMFEwjaKNluAgD9XClUTTS8tRcsPbuWkVNOi5DigKRIsHbVHs-vVBAqjH_w8qjtiFujBFOd9EDtAnStfXlB6jmZ9FNZV3lE8XDPZQdF6MVW-VXWBV3-Mk-0aw9czJ_iHmsR9Mnq8n8tjlJHEnEQh50RDRTA4_DSpHzROkoE-2tMosVaVY4da_SSY0kUrmP5ow3IJwmYbx2le7R6JepJdfcsKDZ8rOdGvrWacVE-caEqsyiu0FUZIjnDEF8yIxWyo8rBhjJHtnngRkbTkHU2X8TZjzibA-xFsFt8tHwPCKsGHO7nE9bSTi40bRnFm00\" \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 PlantUML 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#plantuml:TLLBRzf04BuZyHz6kTG9uAfNgur2WBQk2450Ufzu9x2AxNNsGOIg_FVEsklmIYwBvptppOCROr5RL-JTZfKs9qYBAgU2IejMgXBkbA0yWJ-unQ_BIijo3RTAMHZbQ0oPRgVRgJ1xnZL1fegO-2b8PnGhBKZ7x4VQ7VphTW0oRmBtdjym00OtgO1QCnK9F3oauvP_X-LkfUvBTkkCLUmpWL7uQdLOkb9UCShGP2Zent0wlGHfgJ09JAMnt-jeAJEkWr4TR8oMM45bcFlFbImeY1aDwzYujblMH91OPJ4V5igLDe5RkHvJ9WlC6sdpzb087okgj18kOxrvyz675xjBG9RsCe6jaYBeS_pCvJu3xpowF7VSAr0_3yro8wkAH7HW_kQV4rXzy2DeFHIV8rjZ4MezbvuM4JHU7DOzhSi9F5TAEzSoeq-HMPDTkaVxSPdlfL3fYaFesrhcazaudVrgYD7zx6Uwk9k4WfQ_q_cy9SQJQVfticZ9qN0scaod3SbHtZuVrmftVkXZGthBXHnExBmHBGyb7ggXi-fLQX8GZ7zn9r-HaPaVqUVwDV0BgfIHLkbTQC6USGGTzo4ZOuBFw6XR-Y2iUe-te1T7ni_OEyDKgZJjS6ynbu9p2j8nMPIvYJvsiH_JWQkyLPrZYqNTdjDSskKvKlfeP7boI3yXWtcCL8jjBzkWNbE4P-lMXmmr1npn6_Bd02kDfS7C7omksULXBdkQdbmf8hiN-sINrf-nFfnxPrUBscJlfPsQBop9wvDeU1VvA3HtxEBR1LmD1lmRnrSN1rkO-Fcg--clw7Mh7yVNf_EKWA2AIc6WKJmH7rYqAF7gjKVQm5QYj-fsIcK9j5nlBAYdVIQ-Y9j9SuQnPANchXTO6R0AkBFuY8Q0VtAAlVPeVqnv8utJP9gR2XLfmrSLNgNTD4FC1fmw-DW-Xnic-B_aFm00\" 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>VPasCode \u092e\u0947\u0902 PlantUML \u0938\u0902\u092a\u093e\u0926\u093f\u0924 \u0915\u0930\u0947\u0902<\/span><br \/>\n<\/a>\n<\/div>\n<\/div>\n<p data-nodeid=\"214\"><strong data-nodeid=\"486\">\u0915\u093e\u0930\u094d\u092f\u093e\u0928\u094d\u0935\u092f\u0928 \u0909\u0932\u094d\u0932\u0947\u0916\u0928\u0940\u092f \u092c\u093f\u0902\u0926\u0941:<\/strong><\/p>\n<ul data-nodeid=\"215\">\n<li data-nodeid=\"216\">\n<p data-nodeid=\"217\">JPA \u0905\u0928\u094b\u091f\u0947\u0936\u0928 (<code data-backticks=\"1\" data-nodeid=\"488\">@Entity<\/code>,\u00a0<code data-backticks=\"1\" data-nodeid=\"490\">@ManyToOne<\/code>) ORM \u092e\u0948\u092a\u093f\u0902\u0917 \u0915\u0947 \u0932\u093f\u090f<\/p>\n<\/li>\n<li data-nodeid=\"218\">\n<p data-nodeid=\"219\">\u0928\u093f\u0930\u094d\u092d\u0930\u0924\u093e \u0928\u093f\u0935\u0947\u0936 (<code data-backticks=\"1\" data-nodeid=\"493\">@Autowired<\/code>) \u0922\u0940\u0932\u0947 \u091c\u0941\u0921\u093c\u093e\u0935 \u0915\u0947 \u0932\u093f\u090f<\/p>\n<\/li>\n<li data-nodeid=\"220\">\n<p data-nodeid=\"221\">\u092a\u094d\u0930\u0915\u093e\u0930-\u0938\u0941\u0930\u0915\u094d\u0937\u093f\u0924 \u0911\u0930\u094d\u0921\u0930 \u0938\u094d\u0925\u093f\u0924\u093f \u092a\u094d\u0930\u092c\u0902\u0927\u0928 \u0915\u0947 \u0932\u093f\u090f \u090f\u0928\u0941\u092e<\/p>\n<\/li>\n<li data-nodeid=\"222\">\n<p data-nodeid=\"223\">\u0928\u093f\u091c\u0940 \u0938\u0939\u093e\u092f\u0915 \u0935\u093f\u0927\u093f\u092f\u093e\u0901 (<code data-backticks=\"1\" data-nodeid=\"497\">-\u092d\u0941\u0917\u0924\u093e\u0928 \u0935\u093f\u0935\u0930\u0923 \u0915\u0940 \u092a\u0941\u0937\u094d\u091f\u093f \u0915\u0930\u0947\u0902<\/code>) \u0924\u0930\u094d\u0915 \u0915\u094b \u0938\u0902\u0915\u0932\u093f\u0924 \u0915\u0930\u0924\u0947 \u0939\u0948\u0902<\/p>\n<\/li>\n<\/ul>\n<hr data-nodeid=\"224\"\/>\n<h2 data-nodeid=\"225\"><strong data-nodeid=\"504\">\u0909\u0928\u094d\u0928\u0924 \u092a\u0948\u091f\u0930\u094d\u0928 \u0914\u0930 \u0938\u0930\u094d\u0935\u094b\u0924\u094d\u0924\u092e \u092a\u094d\u0930\u0925\u093e\u090f\u0901<\/strong><\/h2>\n<h3 data-nodeid=\"226\"><strong data-nodeid=\"508\">1. \u0926\u0943\u0936\u094d\u092f\u0924\u093e \u0914\u0930 \u090f\u0928\u094d\u0915\u0948\u092a\u094d\u0938\u0941\u0932\u0947\u0936\u0928 \u0915\u093e \u092a\u094d\u0930\u092c\u0902\u0927\u0928<\/strong><\/h3>\n<p id=\"CXceEyL\"><img alt=\"\" class=\"alignnone size-full wp-image-24658\" decoding=\"async\" height=\"229\" loading=\"lazy\" sizes=\"auto, (max-width: 975px) 100vw, 975px\" src=\"https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/05\/img_6a0eba223951b.png\" srcset=\"https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/05\/img_6a0eba223951b.png 975w, https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/05\/img_6a0eba223951b-300x70.png 300w, https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/05\/img_6a0eba223951b-768x180.png 768w, https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/05\/img_6a0eba223951b-150x35.png 150w, https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/05\/img_6a0eba223951b-400x94.png 400w\" width=\"975\"\/><\/p>\n<div class=\"vpascode-viewer-container vpascode-fancy-active\">\n<div class=\"vpascode-header\">\n<span class=\"vpascode-lang-label\">\u092a\u094d\u0932\u093e\u0902\u091f\u092f\u0942\u090f\u092e\u090f\u0932<\/span><br \/>\n<a class=\"vpascode-fancy-btn\" href=\"https:\/\/www.vpascode.com#plantuml:PL7DIiH03BuN-Wu1Bolg2nIHxRA81P62uZsTPhjXfncOoQmkeizkseeAUqlcIxwVp3efHisZBmldCINOe1ngvq8MXO-o0BZ2fNlAOqUnWcUDBCEC3AGRz2YELfSLR7ZOakCH_GJUT0jozguH9Q5J3lB0IKCyLV1enUtB7t0tJLuuz2vxL6f4ALBILRIcWZxapjEPuXTFOuA-pZthvEWOk2-Bpx8e2mbA47dOAuJT_v1p46YDaLq5TTl0BaIWzuKAd6SIJRDpQ2CVPmVDZnBOzPIkmTZ1paGfiJdxtVQdEOVjcRfJwYkuD_AKk-NMqvmaoplRXnRT0GUZV-M5vurrpm89Hu8nzDbJMP3qavnLQoljuxu1\" 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>VPasCode \u092e\u0947\u0902 \u092a\u094d\u0932\u093e\u0902\u091f\u092f\u0942\u090f\u092e\u090f\u0932 \u0938\u0902\u092a\u093e\u0926\u093f\u0924 \u0915\u0930\u0947\u0902<\/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\">PlantUML<\/span>\r\n                    <a href=\"https:\/\/www.vpascode.com#plantuml:RLBTIiCm5Bulz1qEU3DHNw28RCCB1oA2la3MnHdiKcXJGKIP4vmYujKOo424LCPG9uFfl76laaVnv6H3OK9fS_ATV3-dAQQA9IfhHBuNHYnDeSpaKIaCuqmgEFKzW1NcgfsiKUL907ig4R9EI9shCekO37bXEO2og6_oK3HOPC6rgaCMzbN2PCf29MAv9L8L9oS1REDYVVyNsB2TIo6BmYnYYbUauWbFLI718e1Qd5KZlg1uBcoRP54fgmbb7Ht7ekPxPxxdUp9M719HFrGG7_mDIK70w8dHtqQ_c_pEwB7HFQFxHa-DxWG8lX3uHNWJwmwrZMYtRNJBw4VQcJYi3GJYwNiexLOeDim9UqXXEQ-0_D8vH4RamHOvjMbyh_uZZH-K6xXkApImQ7vXD3uFM0zDVcjqbwY6JXNn9hgaeRgeBKiqY_7fzAod6w8Rp-VG1IgcSsVQpMWX94sVhEJN3iEOWLDwepDziAiS-P-SCKen-cLw9OlQiJ-R_DBeZrdddCBtkAo1_P6-LyGbNjeV\" \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 PlantUML in VPasCode<\/span>\r\n                    <\/a>\r\n                <\/div>\r\n                                <div class=\"vpascode-code-wrapper\">\r\n                    <pre class=\"lang-plantuml\" data-nodeid=\"227\"><code class=\"language-plantuml\" data-language=\"plantuml\" class=\"language-plantuml\">@startuml\r\nclass BankAccount {\r\n  +accountNumber: String\r\n  +getBalance(): BigDecimal\r\n  -balance: BigDecimal\r\n  -transactionHistory: List&lt;Transaction&gt;\r\n  #calculateInterest(rate: double): BigDecimal\r\n  ~internalAudit(): void\r\n}\r\n\r\nnote right of BankAccount\r\n  + \u0938\u093e\u0930\u094d\u0935\u091c\u0928\u093f\u0915: \u092c\u093e\u0939\u0930\u0940 \u0915\u094d\u0932\u093e\u0907\u0902\u091f\u094d\u0938 \u0915\u0947 \u0932\u093f\u090f API\r\n  - \u0928\u093f\u091c\u0940: \u0906 inter\u094d\u0928\u0932 \u0938\u094d\u0925\u093f\u0924\u093f, \u092c\u093e\u0939\u0930\u0940 \u0930\u0942\u092a \u0938\u0947 \u092a\u0939\u0941\u0901\u091a \u092f\u094b\u0917\u094d\u092f \u0928\u0939\u0940\u0902\r\n  # \u0938\u0902\u0930\u0915\u094d\u0937\u093f\u0924: \u0909\u092a\u0935\u0930\u094d\u0917 \u0935\u093f\u0938\u094d\u0924\u093e\u0930 \u0915\u0947 \u0932\u093f\u090f\r\n  ~ \u092a\u0948\u0915\u0947\u091c: \u0938\u092e\u093e\u0928 \u092e\u0949\u0921\u094d\u092f\u0942\u0932 \u0915\u0947 \u092d\u0940\u0924\u0930 \u0926\u0943\u0936\u094d\u092f\u092e\u093e\u0928\r\nend note\r\n@enduml\r\n<\/code><\/pre>                <\/div>\r\n                <div class=\"vpascode-actions\">\r\n                    <a href=\"https:\/\/www.vpascode.com#plantuml:RLBTIiCm5Bulz1qEU3DHNw28RCCB1oA2la3MnHdiKcXJGKIP4vmYujKOo424LCPG9uFfl76laaVnv6H3OK9fS_ATV3-dAQQA9IfhHBuNHYnDeSpaKIaCuqmgEFKzW1NcgfsiKUL907ig4R9EI9shCekO37bXEO2og6_oK3HOPC6rgaCMzbN2PCf29MAv9L8L9oS1REDYVVyNsB2TIo6BmYnYYbUauWbFLI718e1Qd5KZlg1uBcoRP54fgmbb7Ht7ekPxPxxdUp9M719HFrGG7_mDIK70w8dHtqQ_c_pEwB7HFQFxHa-DxWG8lX3uHNWJwmwrZMYtRNJBw4VQcJYi3GJYwNiexLOeDim9UqXXEQ-0_D8vH4RamHOvjMbyh_uZZH-K6xXkApImQ7vXD3uFM0zDVcjqbwY6JXNn9hgaeRgeBKiqY_7fzAod6w8Rp-VG1IgcSsVQpMWX94sVhEJN3iEOWLDwepDziAiS-P-SCKen-cLw9OlQiJ-R_DBeZrdddCBtkAo1_P6-LyGbNjeV\" \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 PlantUML 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#plantuml:PL7DIiH03BuN-Wu1Bolg2nIHxRA81P62uZsTPhjXfncOoQmkeizkseeAUqlcIxwVp3efHisZBmldCINOe1ngvq8MXO-o0BZ2fNlAOqUnWcUDBCEC3AGRz2YELfSLR7ZOakCH_GJUT0jozguH9Q5J3lB0IKCyLV1enUtB7t0tJLuuz2vxL6f4ALBILRIcWZxapjEPuXTFOuA-pZthvEWOk2-Bpx8e2mbA47dOAuJT_v1p46YDaLq5TTl0BaIWzuKAd6SIJRDpQ2CVPmVDZnBOzPIkmTZ1paGfiJdxtVQdEOVjcRfJwYkuD_AKk-NMqvmaoplRXnRT0GUZV-M5vurrpm89Hu8nzDbJMP3qavnLQoljuxu1\" 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>VPasCode \u092e\u0947\u0902 \u092a\u094d\u0932\u093e\u0902\u091f\u092f\u0942\u090f\u092e\u090f\u0932 \u0938\u0902\u092a\u093e\u0926\u093f\u0924 \u0915\u0930\u0947\u0902<\/span><br \/>\n<\/a>\n<\/div>\n<\/div>\n<h3 data-nodeid=\"228\"><strong data-nodeid=\"512\">2. \u0935\u093e\u0938\u094d\u0924\u0935\u093f\u0915 \u0926\u0941\u0928\u093f\u092f\u093e \u0915\u0947 \u092a\u0930\u093f\u0926\u0943\u0936\u094d\u092f\u094b\u0902 \u092e\u0947\u0902 \u092c\u0939\u0941\u0932\u0924\u093e<\/p>\n<p><\/strong><\/h3>\n<p id=\"TInrWNg\"><img alt=\"\" class=\"alignnone size-full wp-image-24659\" decoding=\"async\" height=\"572\" loading=\"lazy\" sizes=\"auto, (max-width: 441px) 100vw, 441px\" src=\"https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/05\/img_6a0eba3fdcfe0.png\" srcset=\"https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/05\/img_6a0eba3fdcfe0.png 441w, https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/05\/img_6a0eba3fdcfe0-231x300.png 231w, https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/05\/img_6a0eba3fdcfe0-116x150.png 116w, https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/05\/img_6a0eba3fdcfe0-400x519.png 400w\" width=\"441\"\/><\/p>\n<h3 data-nodeid=\"228\"><strong data-nodeid=\"512\">\u00a0<\/strong><\/h3>\n<div class=\"vpascode-viewer-container vpascode-fancy-active\">\n<div class=\"vpascode-header\">\n<span class=\"vpascode-lang-label\">\u092a\u094d\u0932\u093e\u0902\u091f\u092f\u0942\u090f\u092e\u090f\u0932<\/span><br \/>\n<a class=\"vpascode-fancy-btn\" href=\"https:\/\/www.vpascode.com#plantuml:NPB1JiCm38RlbVeELYziOwlMQoNG1kom0m9fJn1IiqKaSKdSYGeXyImy6a-2sswmSOj__VxzsSeYiWhSE9icsgeOOREZkZP-UoiolAS9mAMggZMZ6zM1gaPp2O_3Omglt9PWF8zBs9EfUdT0HtiyRLXN9MmuIAZudeWiAfyc7sbod7d8Euppok6neHVgOBGeDsPxXzeuPNlL-0sJVlcVU05Bq1sxLXvsQeym1oPmohTW12fsbfNIkxw2WCyOq6kCW6zAissXW0DtcfmT8oiocCncaCtpV9BzGfUWoRCoFi9r1-29KPYOoNMSzurbKrkZ3RSG6eknxEJlpo_eSk0A7cesv9MT3f0ZHr7eoJdouwEr4D_gm4SUnQHyfPX2Epv9AyxIee1RiMA-pQVTJiz6ojfeRWB-9GyGImOveWpkquSM2XM6uMXYHrz1jrkQBEGfF-O7\" 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>VPasCode \u092e\u0947\u0902 \u092a\u094d\u0932\u093e\u0902\u091f\u092f\u0942\u090f\u092e\u090f\u0932 \u0938\u0902\u092a\u093e\u0926\u093f\u0924 \u0915\u0930\u0947\u0902<\/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\">PlantUML<\/span>\r\n                    <a href=\"https:\/\/www.vpascode.com#plantuml:XLDDI-jG4Dq7yX-6Rcpzmcu3YgWRTq9_GKo21flScbu54Q4AVY4YBlBUmirxUYFYHor2HK7qhmp-4kTESjig1LUPUsRcd7DdRcQRqataHbItBQ_kDfjGMnMDHXYlp1CCsxO5CERw_g8Ced8Z4Vw69nrOoeDnM9TR3eInh3YmAKAVgvCW4fl1OCEYxq1D9aHATSj2r0CtjgqTspAQ1LyX5xjHO1eOQ2IXHyXSkB8GU67arXaDuveKtjfFnX50TOOgfSyVL1tCMgYkKRtdCQ5_-V0VrLj-RcDsY6eFfYX-ePW--wXk6DKiNOPFKIdCTfbxbz1Np4wuGQMSQUNO4J7b7cwvfyD92Xw7yz7v7rjC-xQFJSyjExq6hM7KzlWs7Su_eFgWMiuNIiQ6RNtROwbQWj692IXDJKwEbdhpTdBEDkjqsU7p09jwBzXWHays5ZAWOKif8hq0LFUSfPayzQflsD8ZSJgwvhDr2LeIfldYUZofBYzkHwNf-FTvbzdHVMyL1qHLCLHLvlani7BHhzcwPj5wufK11zLV79pbi2OxDk_bbSTmvGmiCpj1TQTVZiuVwWPK5opxqJTfxak4xVwRAax6yZ2LSsET7cTd-CiZbI3sGQ_2jcOff3_t2m00\" \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 PlantUML in VPasCode<\/span>\r\n                    <\/a>\r\n                <\/div>\r\n                                <div class=\"vpascode-code-wrapper\">\r\n                    <pre class=\"lang-plantuml\" data-nodeid=\"229\"><code class=\"language-plantuml\" data-language=\"plantuml\" class=\"language-plantuml\">@startuml\r\nclass ShoppingCart {\r\n  +addItem(product: Product, qty: int): void\r\n  +removeItem(productId: String): boolean\r\n}\r\n\r\nclass Product {\r\n  +name: String\r\n  +price: BigDecimal\r\n  +inStock: boolean\r\n}\r\n\r\n' \u090f\u0915 \u0916\u0930\u0940\u0926\u093e\u0930\u0940 \u0917\u093e\u0921\u093c\u0940 \u092e\u0947\u0902 0 \u0938\u0947 \u0905\u0928\u0947\u0915 \u0935\u0938\u094d\u0924\u0941\u090f\u0901 \u0939\u094b \u0938\u0915\u0924\u0940 \u0939\u0948\u0902\r\n' \u092a\u094d\u0930\u0924\u094d\u092f\u0947\u0915 \u0935\u0938\u094d\u0924\u0941 \u0920\u0940\u0915 \u090f\u0915 \u0909\u0924\u094d\u092a\u093e\u0926 \u0915\u094b \u0938\u0902\u0926\u0930\u094d\u092d\u093f\u0924 \u0915\u0930\u0924\u0940 \u0939\u0948\r\nShoppingCart \"1\" *-- \"0..*\" Product : \u0938\u092e\u093e\u0935\u0947\u0936 \u0915\u0930\u0924\u093e \u0939\u0948 &gt;\r\n\r\nnote bottom\r\n  \u092c\u0939\u0941\u0932\u0924\u093e \u0928\u093f\u092f\u092e:\r\n  \u2022 0..* = \u0935\u0948\u0915\u0932\u094d\u092a\u093f\u0915, \u0905\u0928\u0947\u0915 (\u0938\u092c\u0938\u0947 \u0906\u092e)\r\n  \u2022 1 = \u0920\u0940\u0915 \u090f\u0915 (\u0905\u0928\u093f\u0935\u093e\u0930\u094d\u092f)\r\n  \u2022 0..1 = \u0935\u0948\u0915\u0932\u094d\u092a\u093f\u0915, \u090f\u0915\u0932 (\u0909\u0926\u093e\u0939\u0930\u0923: \u092a\u094d\u0930\u094b\u092b\u093c\u093e\u0907\u0932 \u091b\u0935\u093f)\r\n  \u2022 1..* = \u0915\u092e \u0938\u0947 \u0915\u092e \u090f\u0915 (\u0909\u0926\u093e\u0939\u0930\u0923: \u0911\u0930\u094d\u0921\u0930 \u0935\u0938\u094d\u0924\u0941\u090f\u0901)\r\nend note\r\n@enduml\r\n<\/code><\/pre>                <\/div>\r\n                <div class=\"vpascode-actions\">\r\n                    <a href=\"https:\/\/www.vpascode.com#plantuml:XLDDI-jG4Dq7yX-6Rcpzmcu3YgWRTq9_GKo21flScbu54Q4AVY4YBlBUmirxUYFYHor2HK7qhmp-4kTESjig1LUPUsRcd7DdRcQRqataHbItBQ_kDfjGMnMDHXYlp1CCsxO5CERw_g8Ced8Z4Vw69nrOoeDnM9TR3eInh3YmAKAVgvCW4fl1OCEYxq1D9aHATSj2r0CtjgqTspAQ1LyX5xjHO1eOQ2IXHyXSkB8GU67arXaDuveKtjfFnX50TOOgfSyVL1tCMgYkKRtdCQ5_-V0VrLj-RcDsY6eFfYX-ePW--wXk6DKiNOPFKIdCTfbxbz1Np4wuGQMSQUNO4J7b7cwvfyD92Xw7yz7v7rjC-xQFJSyjExq6hM7KzlWs7Su_eFgWMiuNIiQ6RNtROwbQWj692IXDJKwEbdhpTdBEDkjqsU7p09jwBzXWHays5ZAWOKif8hq0LFUSfPayzQflsD8ZSJgwvhDr2LeIfldYUZofBYzkHwNf-FTvbzdHVMyL1qHLCLHLvlani7BHhzcwPj5wufK11zLV79pbi2OxDk_bbSTmvGmiCpj1TQTVZiuVwWPK5opxqJTfxak4xVwRAax6yZ2LSsET7cTd-CiZbI3sGQ_2jcOff3_t2m00\" \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 PlantUML 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#plantuml:NPB1JiCm38RlbVeELYziOwlMQoNG1kom0m9fJn1IiqKaSKdSYGeXyImy6a-2sswmSOj__VxzsSeYiWhSE9icsgeOOREZkZP-UoiolAS9mAMggZMZ6zM1gaPp2O_3Omglt9PWF8zBs9EfUdT0HtiyRLXN9MmuIAZudeWiAfyc7sbod7d8Euppok6neHVgOBGeDsPxXzeuPNlL-0sJVlcVU05Bq1sxLXvsQeym1oPmohTW12fsbfNIkxw2WCyOq6kCW6zAissXW0DtcfmT8oiocCncaCtpV9BzGfUWoRCoFi9r1-29KPYOoNMSzurbKrkZ3RSG6eknxEJlpo_eSk0A7cesv9MT3f0ZHr7eoJdouwEr4D_gm4SUnQHyfPX2Epv9AyxIee1RiMA-pQVTJiz6ojfeRWB-9GyGImOveWpkquSM2XM6uMXYHrz1jrkQBEGfF-O7\" 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>VPasCode \u092e\u0947\u0902 \u092a\u094d\u0932\u093e\u0902\u091f\u092f\u0942\u090f\u092e\u090f\u0932 \u0938\u0902\u092a\u093e\u0926\u093f\u0924 \u0915\u0930\u0947\u0902<\/span><br \/>\n<\/a>\n<\/div>\n<\/div>\n<h3 data-nodeid=\"230\"><strong data-nodeid=\"516\">3. \u0905\u092e\u0942\u0932\u094d\u092f \u0935\u0930\u094d\u0917 \u092c\u0928\u093e\u092e \u0907\u0902\u091f\u0930\u092b\u093c\u0947\u0938<\/strong><\/h3>\n<p id=\"qaBNIMo\"><img alt=\"\" class=\"alignnone size-full wp-image-24660\" decoding=\"async\" height=\"374\" loading=\"lazy\" sizes=\"auto, (max-width: 916px) 100vw, 916px\" src=\"https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/05\/img_6a0eba595e5e4.png\" srcset=\"https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/05\/img_6a0eba595e5e4.png 916w, https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/05\/img_6a0eba595e5e4-300x122.png 300w, https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/05\/img_6a0eba595e5e4-768x314.png 768w, https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/05\/img_6a0eba595e5e4-150x61.png 150w, https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/05\/img_6a0eba595e5e4-400x163.png 400w\" width=\"916\"\/><\/p>\n<div class=\"vpascode-viewer-container vpascode-fancy-active\">\n<div class=\"vpascode-header\">\n<span class=\"vpascode-lang-label\">\u092a\u094d\u0932\u093e\u0902\u091f\u092f\u0942\u090f\u092e\u090f\u0932<\/span><br \/>\n<a class=\"vpascode-fancy-btn\" href=\"https:\/\/www.vpascode.com#plantuml:ZPBDIiGm4CVlWRp3W1UbxWiK3olemOEBq2UOfjDs95yaamLHtzsqu69tz-0jpCTl_ZF_xBDWakAiLjXdIMW4ZCMSuH24HpOe73nyQWLmayXmPFBIGYU9_RH67UMC4_sDDITM9Z_SthNGXs09_PgqONeYoqTA7qlg67ZGwbihhTWBfH4DmRD3jfSIcbpwTp8R0St5Z3DMzzfT8SKvU3eKrrFw1sq3UFZQxIuLNYiw6xsGV122nDCi44ROPW4UDoPKOJCc6g2wLBiQYDKiHWlieYLNdJWrlloksy9RIGGc-1Lq3wvOuLeEx6TABEZhJNA9CIJHgcuBYoIjzlLPFy8F\" 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>VPasCode \u092e\u0947\u0902 \u092a\u094d\u0932\u093e\u0902\u091f\u092f\u0942\u090f\u092e\u090f\u0932 \u0938\u0902\u092a\u093e\u0926\u093f\u0924 \u0915\u0930\u0947\u0902<\/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\">PlantUML<\/span>\r\n                    <a href=\"https:\/\/www.vpascode.com#plantuml:ZLAzIWD14EuFxXq6R9GpBn0iKcXfcZp1tcLpMRcx3RkRWAY5WbfP1YknsJC19H4X8O8ahpAFukuSYlafR9QPR-RxOTY6DaoPVfw50OkrKImna6HCQsXA8peYOKR80Yx2061FyKJq12zC7Lf6YI8bDETQivJ_nQ9VBSsBzlv17M8fCyuA6cOoFUQP671rxaS3ATfXS1K6OI0AmrM79HnESYQoxGYHxiTdF5aB46rvR6YrJbixb7fTMV1cFu-v-eVQci3HPQssdN3NqeQrLogauQ14sZKWEx0-1K1xYtQ2vGtQ3omVq4uTD4FxJirZtNKBj4kqJ-wjjcSUyjFIGv43xz0w_Xpj2ktGzKDYL19JgiTKpwWTLxxtH7hsU_OLxHUM3bbumpcMrsXVY3AgFCS4lH5bT0XKVZgi2hiYaIL5jLNYoOz_IORknk0F4GODLxhlzmq0\" \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 PlantUML in VPasCode<\/span>\r\n                    <\/a>\r\n                <\/div>\r\n                                <div class=\"vpascode-code-wrapper\">\r\n                    <pre class=\"lang-plantuml\" data-nodeid=\"231\"><code class=\"language-plantuml\" data-language=\"plantuml\" class=\"language-plantuml\">@startuml\r\nabstract class Notification {\r\n  #recipient: String\r\n  #message: String\r\n  +abstract send(): boolean\r\n  +logDelivery(): void\r\n}\r\n\r\ninterface EmailNotification {\r\n  +subject: String\r\n  +send(): boolean\r\n}\r\n\r\ninterface SMSNotification {\r\n  +phoneNumber: String\r\n  +send(): boolean\r\n}\r\n\r\nNotification &lt;|-- EmailNotification\r\nNotification &lt;|-- SMSNotification\r\n\r\nnote right of Notification\r\n  \u0905\u092e\u0942\u0932\u094d\u092f \u0935\u0930\u094d\u0917: \u0938\u093e\u091d\u093e \u0905\u0935\u0938\u094d\u0925\u093e + \u0906\u0902\u0936\u093f\u0915 \u0915\u093e\u0930\u094d\u092f\u093e\u0928\u094d\u0935\u092f\u0928\r\n  \u0907\u0902\u091f\u0930\u092b\u093c\u0947\u0938: \u0936\u0941\u0926\u094d\u0927 \u0905\u0928\u0941\u092c\u0902\u0927, \u092c\u0939\u0941 \u0935\u093f\u0930\u093e\u0938\u0924 \u0938\u092e\u0930\u094d\u0925\u0928\r\nend note\r\n@enduml\r\n<\/code><\/pre>                <\/div>\r\n                <div class=\"vpascode-actions\">\r\n                    <a href=\"https:\/\/www.vpascode.com#plantuml:ZLAzIWD14EuFxXq6R9GpBn0iKcXfcZp1tcLpMRcx3RkRWAY5WbfP1YknsJC19H4X8O8ahpAFukuSYlafR9QPR-RxOTY6DaoPVfw50OkrKImna6HCQsXA8peYOKR80Yx2061FyKJq12zC7Lf6YI8bDETQivJ_nQ9VBSsBzlv17M8fCyuA6cOoFUQP671rxaS3ATfXS1K6OI0AmrM79HnESYQoxGYHxiTdF5aB46rvR6YrJbixb7fTMV1cFu-v-eVQci3HPQssdN3NqeQrLogauQ14sZKWEx0-1K1xYtQ2vGtQ3omVq4uTD4FxJirZtNKBj4kqJ-wjjcSUyjFIGv43xz0w_Xpj2ktGzKDYL19JgiTKpwWTLxxtH7hsU_OLxHUM3bbumpcMrsXVY3AgFCS4lH5bT0XKVZgi2hiYaIL5jLNYoOz_IORknk0F4GODLxhlzmq0\" \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 PlantUML 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#plantuml:ZPBDIiGm4CVlWRp3W1UbxWiK3olemOEBq2UOfjDs95yaamLHtzsqu69tz-0jpCTl_ZF_xBDWakAiLjXdIMW4ZCMSuH24HpOe73nyQWLmayXmPFBIGYU9_RH67UMC4_sDDITM9Z_SthNGXs09_PgqONeYoqTA7qlg67ZGwbihhTWBfH4DmRD3jfSIcbpwTp8R0St5Z3DMzzfT8SKvU3eKrrFw1sq3UFZQxIuLNYiw6xsGV122nDCi44ROPW4UDoPKOJCc6g2wLBiQYDKiHWlieYLNdJWrlloksy9RIGGc-1Lq3wvOuLeEx6TABEZhJNA9CIJHgcuBYoIjzlLPFy8F\" 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>VPasCode \u092e\u0947\u0902 \u092a\u094d\u0932\u093e\u0902\u091f\u092f\u0942\u090f\u092e\u090f\u0932 \u0938\u0902\u092a\u093e\u0926\u093f\u0924 \u0915\u0930\u0947\u0902<\/span><br \/>\n<\/a>\n<\/div>\n<\/div>\n<hr data-nodeid=\"232\"\/>\n<h2 data-nodeid=\"233\"><strong data-nodeid=\"522\">\u0938\u093e\u092e\u093e\u0928\u094d\u092f \u0924\u094d\u0930\u0941\u091f\u093f\u092f\u093e\u0901 \u0914\u0930 \u0909\u0928\u0938\u0947 \u092c\u091a\u0928\u0947 \u0915\u0947 \u0924\u0930\u0940\u0915\u0947<\/strong><\/h2>\n<table data-nodeid=\"235\">\n<thead data-nodeid=\"236\">\n<tr data-nodeid=\"237\">\n<th data-nodeid=\"239\">\u0924\u094d\u0930\u0941\u091f\u093f<\/th>\n<th data-nodeid=\"240\">\u0932\u0915\u094d\u0937\u0923<\/th>\n<th data-nodeid=\"241\">\u0938\u092e\u093e\u0927\u093e\u0928<\/th>\n<\/tr>\n<\/thead>\n<tbody data-nodeid=\"245\">\n<tr data-nodeid=\"246\">\n<td data-nodeid=\"247\"><strong data-nodeid=\"529\">\u0905\u0924\u094d\u092f\u0927\u093f\u0915 \u0921\u093f\u091c\u093c\u093e\u0907\u0928<\/strong><\/td>\n<td data-nodeid=\"248\">50+ \u0935\u0930\u094d\u0917\u094b\u0902 \u0935\u093e\u0932\u0947 \u0906\u0930\u0947\u0916, \u092a\u0922\u093c\u0928\u0947 \u092e\u0947\u0902 \u0915\u0920\u093f\u0928<\/td>\n<td data-nodeid=\"249\">\u0905\u0935\u0927\u093e\u0930\u0923\u093e\u0924\u094d\u092e\u0915 \u092e\u0949\u0921\u0932 \u0938\u0947 \u0936\u0941\u0930\u0942 \u0915\u0930\u0947\u0902; \u0938\u0940\u092e\u093f\u0924 \u0938\u0902\u0926\u0930\u094d\u092d \u0926\u094d\u0935\u093e\u0930\u093e \u092c\u0939\u0941\u0932 \u0906\u0930\u0947\u0916\u094b\u0902 \u092e\u0947\u0902 \u0935\u093f\u092d\u093e\u091c\u093f\u0924 \u0915\u0930\u0947\u0902<\/td>\n<\/tr>\n<tr data-nodeid=\"250\">\n<td data-nodeid=\"251\"><strong data-nodeid=\"535\">\u0938\u0902\u0917\u094d\u0930\u0939\/\u0938\u0902\u092f\u094b\u091c\u0928 \u092e\u0947\u0902 \u092d\u094d\u0930\u092e<\/strong><\/td>\n<td data-nodeid=\"252\">\u0935\u0938\u094d\u0924\u0941 \u091c\u0940\u0935\u0928\u091a\u0915\u094d\u0930 \u092a\u094d\u0930\u092c\u0902\u0927\u0928 \u0905\u0938\u094d\u092a\u0937\u094d\u091f<\/td>\n<td data-nodeid=\"253\">\u092a\u0942\u091b\u0947\u0902: \u201c\u092f\u0926\u093f \u092a\u0942\u0930\u094d\u0923 \u0928\u0937\u094d\u091f \u0939\u094b \u091c\u093e\u0924\u093e \u0939\u0948, \u0924\u094b \u092d\u093e\u0917 \u092c\u091a\u0924\u0947 \u0939\u0948\u0902?\u201d \u092f\u0926\u093f \u0928\u0939\u0940\u0902 \u2192 \u0938\u0902\u092f\u094b\u091c\u0928 \u0915\u093e \u0909\u092a\u092f\u094b\u0917 \u0915\u0930\u0947\u0902 (<code data-backticks=\"1\" data-nodeid=\"542\">*--<\/code>)<\/td>\n<\/tr>\n<tr data-nodeid=\"254\">\n<td data-nodeid=\"255\"><strong data-nodeid=\"547\">\u0928\u0947\u0935\u093f\u0917\u0947\u092c\u093f\u0932\u093f\u091f\u0940 \u0915\u094b \u0928\u091c\u0930\u0905\u0902\u0926\u093e\u091c \u0915\u0930\u0928\u093e<\/strong><\/td>\n<td data-nodeid=\"256\">\u0939\u0930 \u091c\u0917\u0939 \u0926\u094d\u0935\u093f\u0926\u093f\u0936\u093e\u0924\u094d\u092e\u0915 \u0924 \u0441\u0442\u0440\u0947\u0932<\/td>\n<td data-nodeid=\"257\">\u0915\u0947\u0935\u0932 \u0909\u0928 \u0938\u094d\u0925\u093e\u0928\u094b\u0902 \u092a\u0930 \u0928\u0947\u0935\u093f\u0917\u0947\u092c\u093f\u0932\u093f\u091f\u0940 \u0924\u0940\u0930 \u091c\u094b \u0915\u094b\u0921 \u092e\u0947\u0902 \u091f\u094d\u0930\u0948\u0935\u0930\u094d\u0938\u0932 \u0915\u0940 \u0906\u0935\u0936\u094d\u092f\u0915\u0924\u093e \u0939\u094b<\/td>\n<\/tr>\n<tr data-nodeid=\"258\">\n<td data-nodeid=\"259\"><strong data-nodeid=\"553\">\u0905\u092c\u094d\u0938\u094d\u091f\u094d\u0930\u0948\u0915\u094d\u0936\u0928 \u0938\u094d\u0924\u0930\u094b\u0902 \u0915\u094b \u092e\u093f\u0932\u093e\u0928\u093e<\/strong><\/td>\n<td data-nodeid=\"260\">\u090f\u0915 \u0939\u0940 \u0906\u0930\u0947\u0916 \u092e\u0947\u0902 DTOs \u0914\u0930 \u090f\u0902\u091f\u093f\u091f\u0940 \u0915\u094d\u0932\u093e\u0938\u0947\u0938 \u0915\u094b \u092e\u093f\u0932\u093e\u0928\u093e<\/td>\n<td data-nodeid=\"261\">\u0926\u0943\u0937\u094d\u091f\u093f\u0915\u094b\u0923 (\u0905\u0935\u0927\u093e\u0930\u0923\u093e\u0924\u094d\u092e\u0915\/\u0935\u093f\u0935\u0930\u0923\u093e\u0924\u094d\u092e\u0915\/\u0915\u093e\u0930\u094d\u092f\u093e\u0928\u094d\u0935\u092f\u0928) \u0915\u0947 \u0905\u0928\u0941\u0938\u093e\u0930 \u0906\u0930\u0947\u0916\u094b\u0902 \u0915\u094b \u0905\u0932\u0917 \u0915\u0930\u0947\u0902<\/td>\n<\/tr>\n<tr data-nodeid=\"262\">\n<td data-nodeid=\"263\"><strong data-nodeid=\"559\">\u0938\u0902\u0938\u094d\u0915\u0930\u0923 \u0928\u093f\u092f\u0902\u0924\u094d\u0930\u0923 \u0915\u093e \u0927\u094d\u092f\u093e\u0928 \u0928 \u0930\u0916\u0928\u093e<\/strong><\/td>\n<td data-nodeid=\"264\">\u0906\u0930\u0947\u0916 \u092a\u0941\u0930\u093e\u0928\u0947 \u0939\u094b \u091c\u093e\u0924\u0947 \u0939\u0948\u0902<\/td>\n<td data-nodeid=\"265\">Git \u092e\u0947\u0902 PlantUML \u091f\u0947\u0915\u094d\u0938\u094d\u091f \u092b\u093e\u0907\u0932\u094b\u0902 \u0915\u093e \u0909\u092a\u092f\u094b\u0917 \u0915\u0930\u0947\u0902; CI\/CD \u092a\u093e\u0907\u092a\u0932\u093e\u0907\u0928 \u092e\u0947\u0902 \u091b\u0935\u093f\u092f\u093e\u0902 \u0909\u0924\u094d\u092a\u0928\u094d\u0928 \u0915\u0930\u0947\u0902<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<hr data-nodeid=\"266\"\/>\n<h2 data-nodeid=\"267\"><strong data-nodeid=\"565\">\u0909\u092a\u0915\u0930\u0923 \u0938\u0941\u091d\u093e\u0935: \u092a\u094d\u0932\u093e\u0902\u091f\u092f\u0942\u090f\u092e\u090f\u0932 \u0915\u094d\u092f\u094b\u0902?<\/strong><\/h2>\n<p data-nodeid=\"268\">\u0909\u092a\u0930\u094b\u0915\u094d\u0924 \u0915\u0947\u0938 \u0938\u094d\u091f\u0921\u0940 \u0915\u0947 \u0932\u093f\u090f,\u00a0<strong data-nodeid=\"595\">\u092a\u094d\u0932\u093e\u0902\u091f\u092f\u0942\u090f\u092e\u090f\u0932<\/strong>\u00a0\u0907\u0938\u0947 \u091a\u0941\u0928\u093e \u0917\u092f\u093e \u0915\u094d\u092f\u094b\u0902\u0915\u093f \u0907\u0938\u092e\u0947\u0902 \u092f\u0947 \u0935\u093f\u0936\u0947\u0937\u0924\u093e\u090f\u0902 \u0939\u0948\u0902:<br \/>\n\u2705\u00a0<strong data-nodeid=\"596\">\u091f\u0947\u0915\u094d\u0938\u094d\u091f-\u0906\u0927\u093e\u0930\u093f\u0924<\/strong>: \u0906\u0930\u0947\u0916 \u0915\u094b\u0921 \u0939\u0948\u0902\u2014\u0938\u0902\u0938\u094d\u0915\u0930\u0923 \u092f\u094b\u0917\u094d\u092f, \u0905\u0902\u0924\u0930 \u0926\u093f\u0916\u093e\u0928\u0947 \u092f\u094b\u0917\u094d\u092f, \u0938\u092e\u0940\u0915\u094d\u0937\u093e \u092f\u094b\u0917\u094d\u092f<br \/>\n\u2705\u00a0<strong data-nodeid=\"597\">\u092a\u094b\u0930\u094d\u091f\u0947\u092c\u0932<\/strong>: \u0938\u094d\u0925\u093e\u0928\u0940\u092f \u0930\u0942\u092a \u0938\u0947 \u092f\u093e \u0915\u094d\u0932\u093e\u0909\u0921 \u0938\u0947\u0935\u093e \u0915\u0947 \u092e\u093e\u0927\u094d\u092f\u092e \u0938\u0947 \u0930\u0947\u0902\u0921\u0930 \u0915\u0930\u0924\u093e \u0939\u0948; \u0915\u0949\u0928\u092b\u094d\u0932\u0941\u090f\u0902\u0938, \u0917\u093f\u091f\u0939\u092c, \u0935\u0940\u090f\u0938 \u0915\u094b\u0921 \u0915\u0947 \u0938\u093e\u0925 \u090f\u0915\u0940\u0915\u0943\u0924 \u0939\u0948<br \/>\n\u2705\u00a0<strong data-nodeid=\"598\">\u0930\u0916\u0930\u0916\u093e\u0935 \u092f\u094b\u0917\u094d\u092f<\/strong>: \u092c\u0949\u0915\u094d\u0938\u094b\u0902 \u0915\u094b \u092b\u093f\u0930 \u0938\u0947 \u092c\u0928\u093e\u090f \u092c\u093f\u0928\u093e \u0906\u0930\u0947\u0916 \u0924\u0930\u094d\u0915 \u0915\u094b \u0905\u092a\u0921\u0947\u091f \u0915\u0930\u0947\u0902<br \/>\n\u2705\u00a0<strong data-nodeid=\"599\">\u0938\u0939\u092f\u094b\u0917\u093e\u0924\u094d\u092e\u0915<\/strong>: \u0921\u093f\u091c\u093e\u0907\u0928\u0930 \u0928\u0939\u0940\u0902 \u0939\u094b\u0928\u0947 \u0935\u093e\u0932\u0947 \u0932\u094b\u0917 \u0938\u0930\u0932 \u0938\u093f\u0902\u091f\u0948\u0915\u094d\u0938 \u0915\u0947 \u092e\u093e\u0927\u094d\u092f\u092e \u0938\u0947 \u092f\u094b\u0917\u0926\u093e\u0928 \u0926\u0947 \u0938\u0915\u0924\u0947 \u0939\u0948\u0902<\/p>\n<p data-nodeid=\"269\"><strong data-nodeid=\"603\">\u0928\u092e\u0942\u0928\u093e \u0915\u093e\u0930\u094d\u092f \u092a\u094d\u0930\u0935\u093e\u0939:<\/strong><\/p>\n<pre class=\"lang-bash\" data-nodeid=\"270\"><code data-language=\"bash\"># 1. \u0906\u0930\u0947\u0916 \u0915\u094b \u091f\u0947\u0915\u094d\u0938\u094d\u091f \u0915\u0947 \u0930\u0942\u092a \u092e\u0947\u0902 \u0932\u093f\u0916\u0947\u0902\r\necho '@startumlnclass User { +name: String }n@enduml' &gt; UserDiagram.puml\r\n\r\n# 2. PNG\/SVG \u0909\u0924\u094d\u092a\u0928\u094d\u0928 \u0915\u0930\u0947\u0902\r\nplantuml -tpng UserDiagram.puml\r\n\r\n# 3. \u0926\u094b\u0928\u094b\u0902 .puml \u0914\u0930 \u0909\u0924\u094d\u092a\u0928\u094d\u0928 \u091b\u0935\u093f \u0915\u094b Git \u092e\u0947\u0902 \u0915\u092e\u093f\u091f \u0915\u0930\u0947\u0902\r\ngit add UserDiagram.puml UserDiagram.png\r\n<\/code><\/pre>\n<hr data-nodeid=\"271\"\/>\n<h2 data-nodeid=\"272\"><strong data-nodeid=\"607\">\u0928\u093f\u0937\u094d\u0915\u0930\u094d\u0937<\/strong><\/h2>\n<p data-nodeid=\"273\">\u0915\u094d\u0932\u093e\u0938 \u0921\u093e\u092f\u0917\u094d\u0930\u093e\u092e \u0936\u0948\u0915\u094d\u0937\u0923\u093f\u0915 \u0905\u092d\u094d\u092f\u093e\u0938 \u0938\u0947 \u092c\u0939\u0941\u0924 \u0906\u0917\u0947 \u0939\u0948\u0902\u2014\u0935\u0947 \u091c\u0940\u0935\u0902\u0924 \u0915\u0932\u093e\u0915\u0943\u0924\u093f\u092f\u093e\u0901 \u0939\u0948\u0902 \u091c\u094b \u0938\u0939\u092e\u0924\u093f \u092c\u0928\u093e\u0928\u0947, \u0924\u0915\u0928\u0940\u0915\u0940 \u0926\u0947\u0928\u0926\u093e\u0930\u0940 \u0915\u094b \u0915\u092e \u0915\u0930\u0928\u0947 \u0914\u0930 \u0938\u0949\u092b\u094d\u091f\u0935\u0947\u092f\u0930 \u0935\u093f\u0915\u093e\u0938 \u091a\u0915\u094d\u0930 \u0915\u0947 \u0926\u094c\u0930\u093e\u0928 \u0928\u090f \u0938\u0926\u0938\u094d\u092f\u094b\u0902 \u0915\u0947 \u090f\u0915\u0940\u0915\u0930\u0923 \u0915\u094b \u0924\u0947\u091c \u0915\u0930\u0928\u0947 \u092e\u0947\u0902 \u092e\u0926\u0926 \u0915\u0930\u0924\u0940 \u0939\u0948\u0902\u0964 \u0939\u092e\u093e\u0930\u0947 \u0908-\u0915\u0949\u092e\u0930\u094d\u0938 \u0915\u0947\u0938 \u0938\u094d\u091f\u0921\u0940 \u092e\u0947\u0902 \u0926\u093f\u0916\u093e\u090f \u0917\u090f \u0905\u0928\u0941\u0938\u093e\u0930, \u0915\u094d\u0932\u093e\u0938 \u0921\u093e\u092f\u0917\u094d\u0930\u093e\u092e \u0915\u0940 \u0935\u093e\u0938\u094d\u0924\u0935\u093f\u0915 \u0936\u0915\u094d\u0924\u093f \u0924\u092c \u092a\u094d\u0930\u0915\u091f \u0939\u094b\u0924\u0940 \u0939\u0948 \u091c\u092c \u0935\u0947 \u0924\u0940\u0928 \u092e\u0939\u0924\u094d\u0935\u092a\u0942\u0930\u094d\u0923 \u0926\u0943\u0937\u094d\u091f\u093f\u0915\u094b\u0923\u094b\u0902 \u0915\u0947 \u092e\u093e\u0927\u094d\u092f\u092e \u0938\u0947 \u0935\u093f\u0915\u0938\u093f\u0924 \u0939\u094b\u0924\u0940 \u0939\u0948\u0902:<\/p>\n<p data-nodeid=\"274\">\ud83d\udd39\u00a0<strong data-nodeid=\"626\">\u0905\u0935\u0927\u093e\u0930\u0923\u093e\u0924\u094d\u092e\u0915<\/strong>: \u0938\u094d\u091f\u0947\u0915\u0939\u094b\u0932\u094d\u0921\u0930\u094d\u0938 \u0915\u094b \u0938\u093e\u091d\u093e \u0921\u094b\u092e\u0947\u0928 \u0938\u092e\u091d \u092e\u0947\u0902 \u091c\u092e\u0940\u0928 \u0926\u0947\u0902<br \/>\n\ud83d\udd39\u00a0<strong data-nodeid=\"627\">\u0935\u093f\u0928\u093f\u0930\u094d\u0926\u0947\u0936<\/strong>: \u092e\u0949\u0921\u094d\u092f\u0942\u0932\u0930 \u0906\u0930\u094d\u0915\u093f\u091f\u0947\u0915\u094d\u091a\u0930 \u0915\u0947 \u0932\u093f\u090f \u0938\u094d\u092a\u0937\u094d\u091f \u0907\u0902\u091f\u0930\u092b\u0947\u0938 \u092a\u0930\u093f\u092d\u093e\u0937\u093f\u0924 \u0915\u0930\u0947\u0902<br \/>\n\ud83d\udd39\u00a0<strong data-nodeid=\"628\">\u0915\u093e\u0930\u094d\u092f\u093e\u0928\u094d\u0935\u092f\u0928<\/strong>: \u0938\u091f\u0940\u0915, \u0924\u0915\u0928\u0940\u0915\u0940 \u091c\u093e\u0917\u0930\u0942\u0915 \u092c\u094d\u0932\u0942\u092a\u094d\u0930\u093f\u0902\u091f\u094d\u0938 \u0915\u0947 \u0938\u093e\u0925 \u0935\u093f\u0915\u093e\u0938\u0915\u0930\u094d\u092e\u093f\u092f\u094b\u0902 \u0915\u094b \u092e\u093e\u0930\u094d\u0917\u0926\u0930\u094d\u0936\u0928 \u0915\u0930\u0947\u0902<\/p>\n<p data-nodeid=\"275\">\u0905\u092a\u0928\u093e\u0915\u0930<strong data-nodeid=\"638\">PlantUML<\/strong>\u0921\u093e\u092f\u0917\u094d\u0930\u093e\u092e-\u090f\u091c-\u0915\u094b\u0921 \u0905\u092d\u094d\u092f\u093e\u0938 \u0915\u0947 \u0932\u093f\u090f \u0905\u092a\u0928\u093e\u0915\u0930, \u091f\u0940\u092e\u0947\u0902 \u0921\u093f\u091c\u093c\u093e\u0907\u0928 \u0915\u094b \u0915\u094b\u0921 \u0915\u0947 \u0938\u093e\u0925 \u092c\u093e\u0930-\u092c\u093e\u0930 \u092c\u0926\u0932\u0928\u0947 \u0915\u0940 \u0932\u091a\u0940\u0932\u093e\u092a\u0928 \u092a\u094d\u0930\u093e\u092a\u094d\u0924 \u0915\u0930\u0924\u0940 \u0939\u0948\u0902, \u091c\u093f\u0938\u0938\u0947 \u0926\u0938\u094d\u0924\u093e\u0935\u0947\u091c\u093c\u0940\u0915\u0930\u0923 \u0915\u092d\u0940 \u092d\u0940 \u0915\u093e\u0930\u094d\u092f\u093e\u0928\u094d\u0935\u092f\u0928 \u0915\u0947 \u092a\u0940\u091b\u0947 \u0928\u0939\u0940\u0902 \u0930\u0939\u0924\u093e \u0939\u0948\u0964 \u092f\u093e\u0926 \u0930\u0916\u0947\u0902: \u0938\u092c\u0938\u0947 \u0905\u091a\u094d\u091b\u093e \u0915\u094d\u0932\u093e\u0938 \u0921\u093e\u092f\u0917\u094d\u0930\u093e\u092e \u0938\u092c\u0938\u0947 \u0935\u093f\u0938\u094d\u0924\u0943\u0924 \u0928\u0939\u0940\u0902 \u0939\u094b\u0924\u093e \u0939\u0948\u2014\u0935\u0939 \u0935\u0939 \u0939\u094b\u0924\u093e \u0939\u0948 \u091c\u094b \u0905\u092a\u0928\u0947 \u0926\u0930\u094d\u0936\u0915\u094b\u0902 \u0915\u0947 \u0932\u093f\u090f \u0938\u0939\u0940 \u0938\u092e\u092f \u092a\u0930 \u0938\u0939\u0940 \u0938\u0935\u093e\u0932\u094b\u0902 \u0915\u0947 \u0909\u0924\u094d\u0924\u0930 \u0926\u0947\u0924\u093e \u0939\u0948\u0964<\/p>\n<p data-nodeid=\"276\"><strong data-nodeid=\"643\">\u0905\u0902\u0924\u093f\u092e \u0928\u093f\u0937\u094d\u0915\u0930\u094d\u0937<\/strong>: \u0938\u0930\u0932 \u0936\u0941\u0930\u0941\u0906\u0924 \u0915\u0930\u0947\u0902, \u0938\u094d\u091f\u0947\u0915\u0939\u094b\u0932\u094d\u0921\u0930\u094d\u0938 \u0915\u0947 \u0938\u093e\u0925 \u092e\u093e\u0928\u094d\u092f\u0924\u093e \u092a\u094d\u0930\u093e\u092a\u094d\u0924 \u0915\u0930\u0947\u0902, \u0927\u0940\u0930\u0947-\u0927\u0940\u0930\u0947 \u0938\u0941\u0927\u093e\u0930\u0947\u0902, \u0914\u0930 \u0939\u092e\u0947\u0936\u093e \u0921\u093e\u092f\u0917\u094d\u0930\u093e\u092e \u0915\u0947 \u0924\u0924\u094d\u0935\u094b\u0902 \u0915\u094b \u092d\u093e\u0935\u0940 \u0935\u094d\u092f\u093e\u0935\u0938\u093e\u092f\u093f\u0915 \u092e\u0942\u0932\u094d\u092f \u0938\u0947 \u091c\u094b\u0921\u093c\u0947\u0902\u0964 \u091c\u092c \u0915\u094d\u0932\u093e\u0938 \u0921\u093e\u092f\u0917\u094d\u0930\u093e\u092e \u0921\u093f\u0932\u0940\u0935\u0930\u0947\u092c\u0932\u094d\u0938 \u0915\u0947 \u092c\u091c\u093e\u092f \u0938\u0939\u092f\u094b\u0917\u093e\u0924\u094d\u092e\u0915 \u0909\u092a\u0915\u0930\u0923 \u092c\u0928 \u091c\u093e\u0924\u0947 \u0939\u0948\u0902, \u0924\u094b \u0935\u0947 \u0913\u0935\u0930\u0939\u0947\u0921 \u0938\u0947 \u092c\u0947\u0939\u0924\u0930 \u0938\u0949\u092b\u094d\u091f\u0935\u0947\u092f\u0930 \u0915\u0947 \u0932\u093f\u090f \u0909\u0924\u094d\u0924\u0947\u091c\u0915 \u092c\u0928 \u091c\u093e\u0924\u0947 \u0939\u0948\u0902\u0964<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u092a\u0930\u093f\u091a\u092f \u0906\u091c \u0915\u0947 \u091c\u091f\u093f\u0932 \u0938\u0949\u092b\u094d\u091f\u0935\u0947\u092f\u0930 \u0935\u093f\u0915\u093e\u0938 \u092a\u0930\u093f\u0926\u0943\u0936\u094d\u092f \u092e\u0947\u0902, \u092a\u0930\u093f\u092f\u094b\u091c\u0928\u093e \u0938\u092b\u0932\u0924\u093e \u0915\u0947 \u0932\u093f\u090f \u0938\u094d\u092a\u0937\u094d\u091f \u0938\u0902\u091a\u093e\u0930 \u0914\u0930 \u0938\u091f\u0940\u0915 \u0938\u093f\u0938\u094d\u091f\u092e \u092e\u0949\u0921\u0932\u093f\u0902\u0917 \u092e\u0939\u0924\u094d\u0935\u092a\u0942\u0930\u094d\u0923 \u0939\u0948\u0964 \u0938\u0949\u092b\u094d\u091f\u0935\u0947\u092f\u0930 \u0906\u0930\u094d\u0915\u093f\u091f\u0947\u0915\u094d\u091f \u0915\u0947 \u091f\u0942\u0932\u0915\u093f\u091f \u092e\u0947\u0902 \u0938\u092c\u0938\u0947 \u0936\u0915\u094d\u0924\u093f\u0936\u093e\u0932\u0940 \u0909\u092a\u0915\u0930\u0923\u094b\u0902 \u092e\u0947\u0902 \u0938\u0947 \u090f\u0915 \u0939\u0948UML \u0915\u094d\u0932\u093e\u0938 \u0921\u093e\u092f\u0917\u094d\u0930\u093e\u092e\u2014\u090f\u0915 \u0926\u0943\u0936\u094d\u092f \u092d\u093e\u0937\u093e \u091c\u094b \u0938\u0902\u0915\u0932\u094d\u092a\u0928\u093e\u0924\u094d\u092e\u0915 \u0906\u0935\u0936\u094d\u092f\u0915\u0924\u093e\u0913\u0902 \u0914\u0930 \u0935\u093e\u0938\u094d\u0924\u0935\u093f\u0915 \u0915\u093e\u0930\u094d\u092f\u093e\u0928\u094d\u0935\u092f\u0928 \u0915\u0947 \u092c\u0940\u091a \u0915\u0947 \u0905\u0902\u0924\u0930 \u0915\u094b \u092a\u093e\u0930 \u0915\u0930\u0924\u0940 \u0939\u0948\u0964 \u0907\u0938 \u0915\u0947\u0938 \u0938\u094d\u091f\u0921\u0940 \u092e\u0947\u0902 \u092f\u0939 [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_lmt_disableupdate":"","_lmt_disable":"","footnotes":""},"categories":[85,82],"tags":[],"class_list":["post-26893","post","type-post","status-publish","format-standard","hentry","category-ai","category-uml","loop-entry","clr"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v24.3 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>UML \u0915\u094d\u0932\u093e\u0938 \u0921\u093e\u092f\u0917\u094d\u0930\u093e\u092e \u0915\u094b \u0938\u092e\u091d\u0928\u093e: PlantUML \u0915\u0947 \u0938\u093e\u0925 \u0938\u093f\u0938\u094d\u091f\u092e \u0921\u093f\u091c\u093e\u0907\u0928 \u092e\u0947\u0902 \u090f\u0915 \u0935\u094d\u092f\u093e\u0935\u0939\u093e\u0930\u093f\u0915 \u0915\u0947\u0938 \u0938\u094d\u091f\u0921\u0940 - Visual Paradigm Blog Indian<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/blog.visual-paradigm.com\/in\/mastering-uml-class-diagrams-a-practical-case-study-in-system-design-with-plantuml\/\" \/>\n<meta property=\"og:locale\" content=\"hi_IN\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"UML \u0915\u094d\u0932\u093e\u0938 \u0921\u093e\u092f\u0917\u094d\u0930\u093e\u092e \u0915\u094b \u0938\u092e\u091d\u0928\u093e: PlantUML \u0915\u0947 \u0938\u093e\u0925 \u0938\u093f\u0938\u094d\u091f\u092e \u0921\u093f\u091c\u093e\u0907\u0928 \u092e\u0947\u0902 \u090f\u0915 \u0935\u094d\u092f\u093e\u0935\u0939\u093e\u0930\u093f\u0915 \u0915\u0947\u0938 \u0938\u094d\u091f\u0921\u0940 - Visual Paradigm Blog Indian\" \/>\n<meta property=\"og:description\" content=\"\u092a\u0930\u093f\u091a\u092f \u0906\u091c \u0915\u0947 \u091c\u091f\u093f\u0932 \u0938\u0949\u092b\u094d\u091f\u0935\u0947\u092f\u0930 \u0935\u093f\u0915\u093e\u0938 \u092a\u0930\u093f\u0926\u0943\u0936\u094d\u092f \u092e\u0947\u0902, \u092a\u0930\u093f\u092f\u094b\u091c\u0928\u093e \u0938\u092b\u0932\u0924\u093e \u0915\u0947 \u0932\u093f\u090f \u0938\u094d\u092a\u0937\u094d\u091f \u0938\u0902\u091a\u093e\u0930 \u0914\u0930 \u0938\u091f\u0940\u0915 \u0938\u093f\u0938\u094d\u091f\u092e \u092e\u0949\u0921\u0932\u093f\u0902\u0917 \u092e\u0939\u0924\u094d\u0935\u092a\u0942\u0930\u094d\u0923 \u0939\u0948\u0964 \u0938\u0949\u092b\u094d\u091f\u0935\u0947\u092f\u0930 \u0906\u0930\u094d\u0915\u093f\u091f\u0947\u0915\u094d\u091f \u0915\u0947 \u091f\u0942\u0932\u0915\u093f\u091f \u092e\u0947\u0902 \u0938\u092c\u0938\u0947 \u0936\u0915\u094d\u0924\u093f\u0936\u093e\u0932\u0940 \u0909\u092a\u0915\u0930\u0923\u094b\u0902 \u092e\u0947\u0902 \u0938\u0947 \u090f\u0915 \u0939\u0948UML \u0915\u094d\u0932\u093e\u0938 \u0921\u093e\u092f\u0917\u094d\u0930\u093e\u092e\u2014\u090f\u0915 \u0926\u0943\u0936\u094d\u092f \u092d\u093e\u0937\u093e \u091c\u094b \u0938\u0902\u0915\u0932\u094d\u092a\u0928\u093e\u0924\u094d\u092e\u0915 \u0906\u0935\u0936\u094d\u092f\u0915\u0924\u093e\u0913\u0902 \u0914\u0930 \u0935\u093e\u0938\u094d\u0924\u0935\u093f\u0915 \u0915\u093e\u0930\u094d\u092f\u093e\u0928\u094d\u0935\u092f\u0928 \u0915\u0947 \u092c\u0940\u091a \u0915\u0947 \u0905\u0902\u0924\u0930 \u0915\u094b \u092a\u093e\u0930 \u0915\u0930\u0924\u0940 \u0939\u0948\u0964 \u0907\u0938 \u0915\u0947\u0938 \u0938\u094d\u091f\u0921\u0940 \u092e\u0947\u0902 \u092f\u0939 [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/blog.visual-paradigm.com\/in\/mastering-uml-class-diagrams-a-practical-case-study-in-system-design-with-plantuml\/\" \/>\n<meta property=\"og:site_name\" content=\"Visual Paradigm Blog Indian\" \/>\n<meta property=\"article:published_time\" content=\"2026-05-21T07:55:49+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-05-30T08:13:20+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/05\/img_6a0eb9275d5e8.png\" \/>\n<meta name=\"author\" content=\"Admin\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"\u0926\u094d\u0935\u093e\u0930\u093e \u0932\u093f\u0916\u093f\u0924\" \/>\n\t<meta name=\"twitter:data1\" content=\"Admin\" \/>\n\t<meta name=\"twitter:label2\" content=\"\u0905\u0928\u0941\u092e\u093e\u0928\u093f\u0924 \u092a\u0922\u093c\u0928\u0947 \u0915\u093e \u0938\u092e\u092f\" \/>\n\t<meta name=\"twitter:data2\" content=\"5 \u092e\u093f\u0928\u091f\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/blog.visual-paradigm.com\/in\/mastering-uml-class-diagrams-a-practical-case-study-in-system-design-with-plantuml\/\",\"url\":\"https:\/\/blog.visual-paradigm.com\/in\/mastering-uml-class-diagrams-a-practical-case-study-in-system-design-with-plantuml\/\",\"name\":\"UML \u0915\u094d\u0932\u093e\u0938 \u0921\u093e\u092f\u0917\u094d\u0930\u093e\u092e \u0915\u094b \u0938\u092e\u091d\u0928\u093e: PlantUML \u0915\u0947 \u0938\u093e\u0925 \u0938\u093f\u0938\u094d\u091f\u092e \u0921\u093f\u091c\u093e\u0907\u0928 \u092e\u0947\u0902 \u090f\u0915 \u0935\u094d\u092f\u093e\u0935\u0939\u093e\u0930\u093f\u0915 \u0915\u0947\u0938 \u0938\u094d\u091f\u0921\u0940 - Visual Paradigm Blog Indian\",\"isPartOf\":{\"@id\":\"https:\/\/blog.visual-paradigm.com\/in\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/blog.visual-paradigm.com\/in\/mastering-uml-class-diagrams-a-practical-case-study-in-system-design-with-plantuml\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/blog.visual-paradigm.com\/in\/mastering-uml-class-diagrams-a-practical-case-study-in-system-design-with-plantuml\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/05\/img_6a0eb9275d5e8.png\",\"datePublished\":\"2026-05-21T07:55:49+00:00\",\"dateModified\":\"2026-05-30T08:13:20+00:00\",\"author\":{\"@id\":\"https:\/\/blog.visual-paradigm.com\/in\/#\/schema\/person\/a649c442f11a53040710ddec750926c6\"},\"breadcrumb\":{\"@id\":\"https:\/\/blog.visual-paradigm.com\/in\/mastering-uml-class-diagrams-a-practical-case-study-in-system-design-with-plantuml\/#breadcrumb\"},\"inLanguage\":\"hi-IN\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/blog.visual-paradigm.com\/in\/mastering-uml-class-diagrams-a-practical-case-study-in-system-design-with-plantuml\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"hi-IN\",\"@id\":\"https:\/\/blog.visual-paradigm.com\/in\/mastering-uml-class-diagrams-a-practical-case-study-in-system-design-with-plantuml\/#primaryimage\",\"url\":\"https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/05\/img_6a0eb9275d5e8.png\",\"contentUrl\":\"https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/05\/img_6a0eb9275d5e8.png\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/blog.visual-paradigm.com\/in\/mastering-uml-class-diagrams-a-practical-case-study-in-system-design-with-plantuml\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/blog.visual-paradigm.com\/in\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"AI\",\"item\":\"https:\/\/blog.visual-paradigm.com\/in\/category\/ai\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"UML \u0915\u094d\u0932\u093e\u0938 \u0921\u093e\u092f\u0917\u094d\u0930\u093e\u092e \u0915\u094b \u0938\u092e\u091d\u0928\u093e: PlantUML \u0915\u0947 \u0938\u093e\u0925 \u0938\u093f\u0938\u094d\u091f\u092e \u0921\u093f\u091c\u093e\u0907\u0928 \u092e\u0947\u0902 \u090f\u0915 \u0935\u094d\u092f\u093e\u0935\u0939\u093e\u0930\u093f\u0915 \u0915\u0947\u0938 \u0938\u094d\u091f\u0921\u0940\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/blog.visual-paradigm.com\/in\/#website\",\"url\":\"https:\/\/blog.visual-paradigm.com\/in\/\",\"name\":\"Visual Paradigm Blog Indian\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/blog.visual-paradigm.com\/in\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"hi-IN\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/blog.visual-paradigm.com\/in\/#\/schema\/person\/a649c442f11a53040710ddec750926c6\",\"name\":\"Admin\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"hi-IN\",\"@id\":\"https:\/\/blog.visual-paradigm.com\/in\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/6b756c36f5e9132f6067fb4d22bef2e3?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/6b756c36f5e9132f6067fb4d22bef2e3?s=96&d=mm&r=g\",\"caption\":\"Admin\"},\"url\":\"https:\/\/blog.visual-paradigm.com\/in\/author\/vpadminuser\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"UML \u0915\u094d\u0932\u093e\u0938 \u0921\u093e\u092f\u0917\u094d\u0930\u093e\u092e \u0915\u094b \u0938\u092e\u091d\u0928\u093e: PlantUML \u0915\u0947 \u0938\u093e\u0925 \u0938\u093f\u0938\u094d\u091f\u092e \u0921\u093f\u091c\u093e\u0907\u0928 \u092e\u0947\u0902 \u090f\u0915 \u0935\u094d\u092f\u093e\u0935\u0939\u093e\u0930\u093f\u0915 \u0915\u0947\u0938 \u0938\u094d\u091f\u0921\u0940 - Visual Paradigm Blog Indian","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:\/\/blog.visual-paradigm.com\/in\/mastering-uml-class-diagrams-a-practical-case-study-in-system-design-with-plantuml\/","og_locale":"hi_IN","og_type":"article","og_title":"UML \u0915\u094d\u0932\u093e\u0938 \u0921\u093e\u092f\u0917\u094d\u0930\u093e\u092e \u0915\u094b \u0938\u092e\u091d\u0928\u093e: PlantUML \u0915\u0947 \u0938\u093e\u0925 \u0938\u093f\u0938\u094d\u091f\u092e \u0921\u093f\u091c\u093e\u0907\u0928 \u092e\u0947\u0902 \u090f\u0915 \u0935\u094d\u092f\u093e\u0935\u0939\u093e\u0930\u093f\u0915 \u0915\u0947\u0938 \u0938\u094d\u091f\u0921\u0940 - Visual Paradigm Blog Indian","og_description":"\u092a\u0930\u093f\u091a\u092f \u0906\u091c \u0915\u0947 \u091c\u091f\u093f\u0932 \u0938\u0949\u092b\u094d\u091f\u0935\u0947\u092f\u0930 \u0935\u093f\u0915\u093e\u0938 \u092a\u0930\u093f\u0926\u0943\u0936\u094d\u092f \u092e\u0947\u0902, \u092a\u0930\u093f\u092f\u094b\u091c\u0928\u093e \u0938\u092b\u0932\u0924\u093e \u0915\u0947 \u0932\u093f\u090f \u0938\u094d\u092a\u0937\u094d\u091f \u0938\u0902\u091a\u093e\u0930 \u0914\u0930 \u0938\u091f\u0940\u0915 \u0938\u093f\u0938\u094d\u091f\u092e \u092e\u0949\u0921\u0932\u093f\u0902\u0917 \u092e\u0939\u0924\u094d\u0935\u092a\u0942\u0930\u094d\u0923 \u0939\u0948\u0964 \u0938\u0949\u092b\u094d\u091f\u0935\u0947\u092f\u0930 \u0906\u0930\u094d\u0915\u093f\u091f\u0947\u0915\u094d\u091f \u0915\u0947 \u091f\u0942\u0932\u0915\u093f\u091f \u092e\u0947\u0902 \u0938\u092c\u0938\u0947 \u0936\u0915\u094d\u0924\u093f\u0936\u093e\u0932\u0940 \u0909\u092a\u0915\u0930\u0923\u094b\u0902 \u092e\u0947\u0902 \u0938\u0947 \u090f\u0915 \u0939\u0948UML \u0915\u094d\u0932\u093e\u0938 \u0921\u093e\u092f\u0917\u094d\u0930\u093e\u092e\u2014\u090f\u0915 \u0926\u0943\u0936\u094d\u092f \u092d\u093e\u0937\u093e \u091c\u094b \u0938\u0902\u0915\u0932\u094d\u092a\u0928\u093e\u0924\u094d\u092e\u0915 \u0906\u0935\u0936\u094d\u092f\u0915\u0924\u093e\u0913\u0902 \u0914\u0930 \u0935\u093e\u0938\u094d\u0924\u0935\u093f\u0915 \u0915\u093e\u0930\u094d\u092f\u093e\u0928\u094d\u0935\u092f\u0928 \u0915\u0947 \u092c\u0940\u091a \u0915\u0947 \u0905\u0902\u0924\u0930 \u0915\u094b \u092a\u093e\u0930 \u0915\u0930\u0924\u0940 \u0939\u0948\u0964 \u0907\u0938 \u0915\u0947\u0938 \u0938\u094d\u091f\u0921\u0940 \u092e\u0947\u0902 \u092f\u0939 [&hellip;]","og_url":"https:\/\/blog.visual-paradigm.com\/in\/mastering-uml-class-diagrams-a-practical-case-study-in-system-design-with-plantuml\/","og_site_name":"Visual Paradigm Blog Indian","article_published_time":"2026-05-21T07:55:49+00:00","article_modified_time":"2026-05-30T08:13:20+00:00","og_image":[{"url":"https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/05\/img_6a0eb9275d5e8.png","type":"","width":"","height":""}],"author":"Admin","twitter_card":"summary_large_image","twitter_misc":{"\u0926\u094d\u0935\u093e\u0930\u093e \u0932\u093f\u0916\u093f\u0924":"Admin","\u0905\u0928\u0941\u092e\u093e\u0928\u093f\u0924 \u092a\u0922\u093c\u0928\u0947 \u0915\u093e \u0938\u092e\u092f":"5 \u092e\u093f\u0928\u091f"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/blog.visual-paradigm.com\/in\/mastering-uml-class-diagrams-a-practical-case-study-in-system-design-with-plantuml\/","url":"https:\/\/blog.visual-paradigm.com\/in\/mastering-uml-class-diagrams-a-practical-case-study-in-system-design-with-plantuml\/","name":"UML \u0915\u094d\u0932\u093e\u0938 \u0921\u093e\u092f\u0917\u094d\u0930\u093e\u092e \u0915\u094b \u0938\u092e\u091d\u0928\u093e: PlantUML \u0915\u0947 \u0938\u093e\u0925 \u0938\u093f\u0938\u094d\u091f\u092e \u0921\u093f\u091c\u093e\u0907\u0928 \u092e\u0947\u0902 \u090f\u0915 \u0935\u094d\u092f\u093e\u0935\u0939\u093e\u0930\u093f\u0915 \u0915\u0947\u0938 \u0938\u094d\u091f\u0921\u0940 - Visual Paradigm Blog Indian","isPartOf":{"@id":"https:\/\/blog.visual-paradigm.com\/in\/#website"},"primaryImageOfPage":{"@id":"https:\/\/blog.visual-paradigm.com\/in\/mastering-uml-class-diagrams-a-practical-case-study-in-system-design-with-plantuml\/#primaryimage"},"image":{"@id":"https:\/\/blog.visual-paradigm.com\/in\/mastering-uml-class-diagrams-a-practical-case-study-in-system-design-with-plantuml\/#primaryimage"},"thumbnailUrl":"https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/05\/img_6a0eb9275d5e8.png","datePublished":"2026-05-21T07:55:49+00:00","dateModified":"2026-05-30T08:13:20+00:00","author":{"@id":"https:\/\/blog.visual-paradigm.com\/in\/#\/schema\/person\/a649c442f11a53040710ddec750926c6"},"breadcrumb":{"@id":"https:\/\/blog.visual-paradigm.com\/in\/mastering-uml-class-diagrams-a-practical-case-study-in-system-design-with-plantuml\/#breadcrumb"},"inLanguage":"hi-IN","potentialAction":[{"@type":"ReadAction","target":["https:\/\/blog.visual-paradigm.com\/in\/mastering-uml-class-diagrams-a-practical-case-study-in-system-design-with-plantuml\/"]}]},{"@type":"ImageObject","inLanguage":"hi-IN","@id":"https:\/\/blog.visual-paradigm.com\/in\/mastering-uml-class-diagrams-a-practical-case-study-in-system-design-with-plantuml\/#primaryimage","url":"https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/05\/img_6a0eb9275d5e8.png","contentUrl":"https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/05\/img_6a0eb9275d5e8.png"},{"@type":"BreadcrumbList","@id":"https:\/\/blog.visual-paradigm.com\/in\/mastering-uml-class-diagrams-a-practical-case-study-in-system-design-with-plantuml\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/blog.visual-paradigm.com\/in\/"},{"@type":"ListItem","position":2,"name":"AI","item":"https:\/\/blog.visual-paradigm.com\/in\/category\/ai\/"},{"@type":"ListItem","position":3,"name":"UML \u0915\u094d\u0932\u093e\u0938 \u0921\u093e\u092f\u0917\u094d\u0930\u093e\u092e \u0915\u094b \u0938\u092e\u091d\u0928\u093e: PlantUML \u0915\u0947 \u0938\u093e\u0925 \u0938\u093f\u0938\u094d\u091f\u092e \u0921\u093f\u091c\u093e\u0907\u0928 \u092e\u0947\u0902 \u090f\u0915 \u0935\u094d\u092f\u093e\u0935\u0939\u093e\u0930\u093f\u0915 \u0915\u0947\u0938 \u0938\u094d\u091f\u0921\u0940"}]},{"@type":"WebSite","@id":"https:\/\/blog.visual-paradigm.com\/in\/#website","url":"https:\/\/blog.visual-paradigm.com\/in\/","name":"Visual Paradigm Blog Indian","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/blog.visual-paradigm.com\/in\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"hi-IN"},{"@type":"Person","@id":"https:\/\/blog.visual-paradigm.com\/in\/#\/schema\/person\/a649c442f11a53040710ddec750926c6","name":"Admin","image":{"@type":"ImageObject","inLanguage":"hi-IN","@id":"https:\/\/blog.visual-paradigm.com\/in\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/6b756c36f5e9132f6067fb4d22bef2e3?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/6b756c36f5e9132f6067fb4d22bef2e3?s=96&d=mm&r=g","caption":"Admin"},"url":"https:\/\/blog.visual-paradigm.com\/in\/author\/vpadminuser\/"}]}},"modified_by":"Admin","_links":{"self":[{"href":"https:\/\/blog.visual-paradigm.com\/in\/wp-json\/wp\/v2\/posts\/26893","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.visual-paradigm.com\/in\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.visual-paradigm.com\/in\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.visual-paradigm.com\/in\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.visual-paradigm.com\/in\/wp-json\/wp\/v2\/comments?post=26893"}],"version-history":[{"count":0,"href":"https:\/\/blog.visual-paradigm.com\/in\/wp-json\/wp\/v2\/posts\/26893\/revisions"}],"wp:attachment":[{"href":"https:\/\/blog.visual-paradigm.com\/in\/wp-json\/wp\/v2\/media?parent=26893"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.visual-paradigm.com\/in\/wp-json\/wp\/v2\/categories?post=26893"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.visual-paradigm.com\/in\/wp-json\/wp\/v2\/tags?post=26893"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}