{"id":12205,"date":"2026-05-21T15:55:49","date_gmt":"2026-05-21T07:55:49","guid":{"rendered":"https:\/\/blog.visual-paradigm.com\/fa\/mastering-uml-class-diagrams-a-practical-case-study-in-system-design-with-plantuml\/"},"modified":"2026-05-30T16:06:48","modified_gmt":"2026-05-30T08:06:48","slug":"mastering-uml-class-diagrams-a-practical-case-study-in-system-design-with-plantuml","status":"publish","type":"post","link":"https:\/\/blog.visual-paradigm.com\/fa\/mastering-uml-class-diagrams-a-practical-case-study-in-system-design-with-plantuml\/","title":{"rendered":"\u062a\u0633\u0644\u0637 \u0628\u0631 \u0646\u0645\u0648\u062f\u0627\u0631\u0647\u0627\u06cc \u06a9\u0644\u0627\u0633 UML: \u06cc\u06a9 \u0645\u0637\u0627\u0644\u0639\u0647 \u0645\u0648\u0631\u062f\u06cc \u0639\u0645\u0644\u06cc \u062f\u0631 \u0637\u0631\u0627\u062d\u06cc \u0633\u06cc\u0633\u062a\u0645 \u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 PlantUML"},"content":{"rendered":"<h2 data-nodeid=\"111\"><strong data-nodeid=\"293\">\u0645\u0642\u062f\u0645\u0647<\/strong><\/h2>\n<p data-nodeid=\"112\">\u062f\u0631 \u0645\u062d\u06cc\u0637 \u067e\u06cc\u0686\u06cc\u062f\u0647 \u062a\u0648\u0633\u0639\u0647 \u0646\u0631\u0645\u200c\u0627\u0641\u0632\u0627\u0631 \u0627\u0645\u0631\u0648\u0632\u060c \u0627\u0631\u062a\u0628\u0627\u0637 \u0648\u0627\u0636\u062d \u0648 \u0645\u062f\u0644\u200c\u0633\u0627\u0632\u06cc \u062f\u0642\u06cc\u0642 \u0633\u06cc\u0633\u062a\u0645 \u0628\u0647\u200c\u0639\u0646\u0648\u0627\u0646 \u0639\u0627\u0645\u0644\u06cc \u06a9\u0644\u06cc\u062f\u06cc \u062f\u0631 \u0645\u0648\u0641\u0642\u06cc\u062a \u067e\u0631\u0648\u0698\u0647\u200c\u0647\u0627 \u0645\u0637\u0631\u062d \u0645\u06cc\u200c\u0634\u0648\u062f. \u0627\u0632 \u062c\u0645\u0644\u0647 \u0642\u0648\u06cc\u200c\u062a\u0631\u06cc\u0646 \u0627\u0628\u0632\u0627\u0631\u0647\u0627\u06cc \u0645\u0648\u062c\u0648\u062f \u062f\u0631 \u0627\u0628\u0632\u0627\u0631\u0647\u0627\u06cc \u06cc\u06a9 \u0645\u0647\u0646\u062f\u0633 \u0646\u0631\u0645\u200c\u0627\u0641\u0632\u0627\u0631\u060c \u0645\u06cc\u200c\u062a\u0648\u0627\u0646 \u0628\u0647\u00a0<strong data-nodeid=\"303\">\u0646\u0645\u0648\u062f\u0627\u0631 \u06a9\u0644\u0627\u0633 UML<\/strong>\u2014\u0632\u0628\u0627\u0646 \u0628\u0635\u0631\u06cc \u06a9\u0647 \u0641\u0627\u0635\u0644\u0647 \u0628\u06cc\u0646 \u0646\u06cc\u0627\u0632\u0647\u0627\u06cc \u0645\u0641\u0647\u0648\u0645\u06cc \u0648 \u067e\u06cc\u0627\u062f\u0647\u200c\u0633\u0627\u0632\u06cc \u0639\u0645\u0644\u06cc \u0631\u0627 \u067e\u0631 \u0645\u06cc\u200c\u06a9\u0646\u062f.<\/p>\n<p data-nodeid=\"113\">\u0627\u06cc\u0646 \u0645\u0637\u0627\u0644\u0639\u0647 \u0645\u0648\u0631\u062f\u06cc \u0628\u0647 \u0628\u0631\u0631\u0633\u06cc \u0627\u06cc\u0646 \u0645\u0648\u0636\u0648\u0639 \u0645\u06cc\u200c\u067e\u0631\u062f\u0627\u0632\u062f \u06a9\u0647 \u0646\u0645\u0648\u062f\u0627\u0631\u0647\u0627\u06cc \u06a9\u0644\u0627\u0633 \u0686\u06af\u0648\u0646\u0647 \u0628\u0647 \u0639\u0646\u0648\u0627\u0646 \u0633\u062a\u0648\u0646 \u0641\u0642\u0631\u0627\u062a \u0637\u0631\u0627\u062d\u06cc \u0634\u06cc\u0621\u06af\u0631\u0627 \u0639\u0645\u0644 \u0645\u06cc\u200c\u06a9\u0646\u0646\u062f \u0648 \u0628\u0647 \u062a\u06cc\u0645\u200c\u0647\u0627 \u0627\u062c\u0627\u0632\u0647 \u0645\u06cc\u200c\u062f\u0647\u0646\u062f \u0633\u0627\u062e\u062a\u0627\u0631 \u0627\u0633\u062a\u0627\u062a\u06cc\u06a9 \u0633\u06cc\u0633\u062a\u0645 \u0631\u0627 \u0645\u062f\u0644\u200c\u0633\u0627\u0632\u06cc \u06a9\u0646\u0646\u062f\u060c \u0631\u0648\u0627\u0628\u0637 \u0628\u06cc\u0646 \u0645\u0648\u062c\u0648\u062f\u06cc\u062a\u200c\u0647\u0627 \u0631\u0627 \u062a\u0639\u0631\u06cc\u0641 \u06a9\u0646\u0646\u062f \u0648 \u0642\u0631\u0627\u0631\u062f\u0627\u062f\u0647\u0627\u06cc \u0634\u0641\u0627\u0641\u06cc \u0628\u0631\u0627\u06cc \u062a\u0648\u0633\u0639\u0647 \u0627\u06cc\u062c\u0627\u062f \u06a9\u0646\u0646\u062f. \u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 \u06cc\u06a9 \u0645\u062b\u0627\u0644 \u0639\u0645\u0644\u06cc \u0627\u0632 \u0633\u06cc\u0633\u062a\u0645 \u0645\u062f\u06cc\u0631\u06cc\u062a \u0633\u0641\u0627\u0631\u0634\u0627\u062a \u0627\u0644\u06a9\u062a\u0631\u0648\u0646\u06cc\u06a9\u060c \u0646\u0634\u0627\u0646 \u062e\u0648\u0627\u0647\u06cc\u0645 \u062f\u0627\u062f \u06a9\u0647 \u0686\u06af\u0648\u0646\u0647 \u0646\u0645\u0648\u062f\u0627\u0631\u0647\u0627\u06cc \u06a9\u0644\u0627\u0633 \u0631\u0627 \u0628\u0647\u200c\u0635\u0648\u0631\u062a \u062a\u062f\u0631\u06cc\u062c\u06cc \u062f\u0631 \u0633\u0647 \u062f\u06cc\u062f\u06af\u0627\u0647 \u062a\u0648\u0633\u0639\u0647\u2014\u0645\u0641\u0647\u0648\u0645\u06cc\u060c \u0645\u0634\u062e\u0635\u0627\u062a \u0648 \u067e\u06cc\u0627\u062f\u0647\u200c\u0633\u0627\u0632\u06cc\u2014\u0628\u0647\u0628\u0648\u062f \u0628\u062e\u0634\u06cc\u0645 \u0648 \u062f\u0631 \u0639\u06cc\u0646 \u062d\u0627\u0644 \u0627\u0632\u00a0<strong data-nodeid=\"311\">PlantUML<\/strong>\u00a0\u0628\u0631\u0627\u06cc \u0645\u0633\u062a\u0646\u062f\u0627\u062a \u0642\u0627\u0628\u0644 \u0627\u062c\u0631\u0627 \u0648 \u06a9\u0646\u062a\u0631\u0644 \u0646\u0633\u062e\u0647\u200c\u0627\u06cc \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u06cc\u0645.<\/p>\n<p data-nodeid=\"114\">\u0686\u0647 \u0634\u0645\u0627 \u06cc\u06a9 \u062a\u062d\u0644\u06cc\u0644\u06af\u0631 \u06a9\u0633\u0628\u200c\u0648\u06a9\u0627\u0631 \u0628\u0627\u0634\u06cc\u062f \u06a9\u0647 \u0645\u0641\u0627\u0647\u06cc\u0645 \u062d\u0648\u0632\u0647 \u0631\u0627 \u0645\u062f\u0644\u200c\u0633\u0627\u0632\u06cc \u0645\u06cc\u200c\u06a9\u0646\u06cc\u062f\u060c \u06cc\u06a9 \u062a\u0648\u0633\u0639\u0647\u200c\u062f\u0647\u0646\u062f\u0647 \u06a9\u0647 API\u0647\u0627 \u0631\u0627 \u0637\u0631\u0627\u062d\u06cc \u0645\u06cc\u200c\u06a9\u0646\u06cc\u062f\u060c \u06cc\u0627 \u06cc\u06a9 \u0631\u0647\u0628\u0631 \u062a\u06cc\u0645 \u06a9\u0647 \u0627\u0632 \u0647\u0645\u0633\u0648\u06cc\u06cc \u0645\u0639\u0645\u0627\u0631\u06cc \u0627\u0637\u0645\u06cc\u0646\u0627\u0646 \u062d\u0627\u0635\u0644 \u0645\u06cc\u200c\u06a9\u0646\u06cc\u062f\u060c \u0627\u06cc\u0646 \u0631\u0627\u0647\u0646\u0645\u0627 \u0628\u06cc\u0646\u0634\u200c\u0647\u0627\u06cc \u0639\u0645\u0644\u06cc \u0627\u0631\u0627\u0626\u0647 \u0645\u06cc\u200c\u062f\u0647\u062f \u062a\u0627 \u0646\u0645\u0648\u062f\u0627\u0631\u0647\u0627\u06cc \u06a9\u0644\u0627\u0633\u06cc \u0627\u06cc\u062c\u0627\u062f \u06a9\u0646\u06cc\u062f \u06a9\u0647 \u0634\u0641\u0627\u0641\u06cc\u062a \u0631\u0627 \u062a\u0642\u0648\u06cc\u062a \u06a9\u0646\u0646\u062f\u060c \u0627\u0628\u0647\u0627\u0645 \u0631\u0627 \u06a9\u0627\u0647\u0634 \u062f\u0647\u0646\u062f \u0648 \u062a\u062d\u0648\u06cc\u0644 \u067e\u0631\u0648\u0698\u0647 \u0631\u0627 \u062a\u0633\u0631\u06cc\u0639 \u06a9\u0646\u0646\u062f.<\/p>\n<hr data-nodeid=\"115\"\/>\n<h2 data-nodeid=\"116\"><strong data-nodeid=\"318\">\u062f\u0631\u06a9 \u0646\u0645\u0648\u062f\u0627\u0631\u0647\u0627\u06cc \u06a9\u0644\u0627\u0633: \u0645\u0631\u0648\u0631 \u0645\u0641\u0627\u0647\u06cc\u0645 \u0627\u0635\u0644\u06cc<\/strong><\/h2>\n<p data-nodeid=\"117\"><em data-nodeid=\"322\">(\u0628\u0647\u200c\u0637\u0648\u0631 \u062e\u0644\u0627\u0635\u0647 \u0627\u0632 \u062f\u0627\u0646\u0634 \u067e\u0627\u06cc\u0647)<\/em><\/p>\n<p data-nodeid=\"118\">\u06cc\u06a9\u00a0<strong data-nodeid=\"328\">\u0646\u0645\u0648\u062f\u0627\u0631 \u06a9\u0644\u0627\u0633<\/strong>\u00a0\u062f\u0631 UML \u06cc\u06a9 \u0646\u0645\u0648\u062f\u0627\u0631 \u0633\u0627\u062e\u062a\u0627\u0631 \u0627\u0633\u062a\u0627\u062a\u06cc\u06a9 \u0627\u0633\u062a \u06a9\u0647 \u0686\u06cc\u0632\u0647\u0627\u06cc \u0632\u06cc\u0631 \u0631\u0627 \u0646\u0645\u0627\u06cc\u0634 \u0645\u06cc\u200c\u062f\u0647\u062f:<\/p>\n<ul data-nodeid=\"119\">\n<li data-nodeid=\"120\">\n<p data-nodeid=\"121\"><strong data-nodeid=\"333\">\u06a9\u0644\u0627\u0633\u200c\u0647\u0627<\/strong>: \u0637\u0631\u062d\u200c\u0647\u0627\u06cc\u06cc \u06a9\u0647 \u0627\u0634\u06cc\u0627\u0621 \u0631\u0627 \u0628\u0627 \u0648\u06cc\u0698\u06af\u06cc\u200c\u0647\u0627 (\u062d\u0627\u0644\u062a) \u0648 \u0639\u0645\u0644\u06cc\u0627\u062a (\u0631\u0641\u062a\u0627\u0631) \u062a\u0639\u0631\u06cc\u0641 \u0645\u06cc\u200c\u06a9\u0646\u0646\u062f<\/p>\n<\/li>\n<li data-nodeid=\"122\">\n<p data-nodeid=\"123\"><strong data-nodeid=\"338\">\u0631\u0648\u0627\u0628\u0637<\/strong>: \u062a\u0648\u0627\u0631\u062b\u060c \u0627\u0631\u062a\u0628\u0627\u0637\u060c \u062a\u062c\u0645\u0639\u060c \u062a\u0631\u06a9\u06cc\u0628 \u0648 \u0648\u0627\u0628\u0633\u062a\u06af\u06cc<\/p>\n<\/li>\n<li data-nodeid=\"124\">\n<p data-nodeid=\"125\"><strong data-nodeid=\"357\">\u0645\u062d\u062f\u0648\u062f\u06cc\u062a\u200c\u0647\u0627<\/strong>: \u062f\u06cc\u062f\u0647\u200c\u0634\u062f\u0646\u06cc \u0628\u0648\u062f\u0646 (<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>), \u0686\u0646\u062f\u06af\u0627\u0646\u06af\u06cc (<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>), \u0648 \u0642\u0627\u0628\u0644\u06cc\u062a \u0646\u0627\u0648\u0628\u0631\u06cc<\/p>\n<\/li>\n<\/ul>\n<h3 data-nodeid=\"126\"><strong data-nodeid=\"361\">\u0639\u0646\u0627\u0635\u0631 \u0646\u0645\u0627\u062f\u06af\u0630\u0627\u0631\u06cc \u06a9\u0644\u06cc\u062f\u06cc<\/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\">PlantUML<\/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>\u0648\u06cc\u0631\u0627\u06cc\u0634 PlantUML \u062f\u0631 VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<div class=\"vpascode-code-wrapper\">\n            <div class=\"vpascode-viewer-container vpascode-fancy-active\">\r\n                                <div class=\"vpascode-header\">\r\n                    <span class=\"vpascode-lang-label\">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>\u0648\u06cc\u0631\u0627\u06cc\u0634 PlantUML \u062f\u0631 VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<\/div>\n<h3 data-nodeid=\"128\"><strong data-nodeid=\"365\">\u0645\u0631\u062c\u0639 \u0633\u0631\u06cc\u0639 \u0627\u0646\u0648\u0627\u0639 \u0631\u0648\u0627\u0628\u0637<\/strong><\/h3>\n<table data-nodeid=\"130\">\n<thead data-nodeid=\"131\">\n<tr data-nodeid=\"132\">\n<th data-nodeid=\"134\">\u0646\u0648\u0639<\/th>\n<th data-nodeid=\"135\">\u0646\u0645\u0627\u062f<\/th>\n<th data-nodeid=\"136\">\u0645\u0639\u0646\u06cc<\/th>\n<th data-nodeid=\"137\">\u0645\u062b\u0627\u0644<\/th>\n<\/tr>\n<\/thead>\n<tbody data-nodeid=\"142\">\n<tr data-nodeid=\"143\">\n<td data-nodeid=\"144\"><strong data-nodeid=\"373\">\u062a\u0639\u0645\u06cc\u0645<\/strong><\/td>\n<td data-nodeid=\"145\">`\u2013<\/td>\n<td data-nodeid=\"146\">&gt;`<\/td>\n<td data-nodeid=\"147\">\u00ab\u0627\u0633\u062a-\u06cc\u06a9\u00bb<\/td>\n<\/tr>\n<tr data-nodeid=\"150\">\n<td data-nodeid=\"151\"><strong data-nodeid=\"384\">\u0627\u0631\u062a\u0628\u0627\u0637<\/strong><\/td>\n<td data-nodeid=\"152\"><code data-backticks=\"1\" data-nodeid=\"385\">--<\/code><\/td>\n<td data-nodeid=\"153\">\u0627\u0631\u062a\u0628\u0627\u0637 \u0633\u0627\u062e\u062a\u0627\u0631\u06cc<\/td>\n<td data-nodeid=\"154\"><code data-backticks=\"1\" data-nodeid=\"387\">\u0633\u0641\u0627\u0631\u0634 -- \u0645\u0634\u062a\u0631\u06cc<\/code><\/td>\n<\/tr>\n<tr data-nodeid=\"155\">\n<td data-nodeid=\"156\"><strong data-nodeid=\"391\">\u06af\u0631\u0648\u0647\u200c\u0628\u0646\u062f\u06cc<\/strong><\/td>\n<td data-nodeid=\"157\"><code data-backticks=\"1\" data-nodeid=\"392\">o--<\/code><\/td>\n<td data-nodeid=\"158\">\u00ab\u062f\u0627\u0631\u0627\u06cc-\u06cc\u06a9\u00bb (\u0636\u0639\u06cc\u0641)<\/td>\n<td data-nodeid=\"159\"><code data-backticks=\"1\" data-nodeid=\"397\">\u0627\u0646\u0628\u0627\u0631 o-- \u0645\u062d\u0635\u0648\u0644<\/code><\/td>\n<\/tr>\n<tr data-nodeid=\"160\">\n<td data-nodeid=\"161\"><strong data-nodeid=\"401\">\u062a\u0631\u06a9\u06cc\u0628<\/strong><\/td>\n<td data-nodeid=\"162\"><code data-backticks=\"1\" data-nodeid=\"402\">*--<\/code><\/td>\n<td data-nodeid=\"163\">\u00ab\u0645\u0627\u0644\u06a9-\u06cc\u06a9\u00bb (\u0642\u0648\u06cc)<\/td>\n<td data-nodeid=\"164\"><code data-backticks=\"1\" data-nodeid=\"407\">\u0633\u0641\u0627\u0631\u0634 *-- \u0622\u06cc\u062a\u0645-\u0633\u0641\u0627\u0631\u0634<\/code><\/td>\n<\/tr>\n<tr data-nodeid=\"165\">\n<td data-nodeid=\"166\"><strong data-nodeid=\"411\">\u0648\u0627\u0628\u0633\u062a\u06af\u06cc<\/strong><\/td>\n<td data-nodeid=\"167\"><code data-backticks=\"1\" data-nodeid=\"412\">..&gt;<\/code><\/td>\n<td data-nodeid=\"168\">\u00abuses\u00bb (\u0645\u0648\u0642\u062a)<\/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\">\u0645\u0637\u0627\u0644\u0639\u0647 \u0645\u0648\u0631\u062f\u06cc: \u0633\u06cc\u0633\u062a\u0645 \u0645\u062f\u06cc\u0631\u06cc\u062a \u0633\u0641\u0627\u0631\u0634\u0627\u062a \u062a\u062c\u0627\u0631\u062a \u0627\u0644\u06a9\u062a\u0631\u0648\u0646\u06cc\u06a9\u06cc<\/strong><\/h2>\n<h3 data-nodeid=\"172\"><strong data-nodeid=\"425\">\u0646\u06cc\u0627\u0632\u0647\u0627\u06cc \u06a9\u0633\u0628\u200c\u0648\u06a9\u0627\u0631<\/strong><\/h3>\n<p data-nodeid=\"173\">\u06cc\u06a9 \u0641\u0631\u0648\u0634\u06af\u0627\u0647 \u0622\u0646\u0644\u0627\u06cc\u0646 \u0646\u06cc\u0627\u0632 \u0628\u0647 \u06cc\u06a9 \u0633\u06cc\u0633\u062a\u0645 \u062f\u0627\u0631\u062f \u062a\u0627:<\/p>\n<ol data-nodeid=\"174\">\n<li data-nodeid=\"175\">\n<p data-nodeid=\"176\">\u0645\u062f\u06cc\u0631\u06cc\u062a \u0645\u0634\u062a\u0631\u06cc\u0627\u0646\u060c \u0645\u062d\u0635\u0648\u0644\u0627\u062a \u0648 \u0633\u0641\u0627\u0631\u0634\u0627\u062a<\/p>\n<\/li>\n<li data-nodeid=\"177\">\n<p data-nodeid=\"178\">\u067e\u0634\u062a\u06cc\u0628\u0627\u0646\u06cc \u0627\u0632 \u0622\u06cc\u062a\u0645\u200c\u0647\u0627\u06cc \u0633\u0641\u0627\u0631\u0634 \u0628\u0627 \u0645\u0642\u062f\u0627\u0631 \u0648 \u0642\u06cc\u0645\u062a\u200c\u06af\u0630\u0627\u0631\u06cc<\/p>\n<\/li>\n<li data-nodeid=\"179\">\n<p data-nodeid=\"180\">\u0645\u062f\u06cc\u0631\u06cc\u062a \u0631\u0648\u0634\u200c\u0647\u0627\u06cc \u067e\u0631\u062f\u0627\u062e\u062a \u0645\u062a\u0639\u062f\u062f<\/p>\n<\/li>\n<li data-nodeid=\"181\">\n<p data-nodeid=\"182\">\u0631\u062f\u06cc\u0627\u0628\u06cc \u0648\u0636\u0639\u06cc\u062a \u0633\u0641\u0627\u0631\u0634 \u062f\u0631 \u0637\u0648\u0644 \u0686\u0631\u062e\u0647 \u0632\u0646\u062f\u06af\u06cc<\/p>\n<\/li>\n<li data-nodeid=\"183\">\n<p data-nodeid=\"184\">\u0627\u062c\u0627\u0632\u0647 \u062f\u0627\u062f\u0646 \u0628\u0647 \u0645\u062d\u0635\u0648\u0644\u0627\u062a \u0628\u0631\u0627\u06cc \u0645\u062a\u0639\u0644\u0642 \u0628\u0648\u062f\u0646 \u0628\u0647 \u062f\u0633\u062a\u0647\u200c\u0628\u0646\u062f\u06cc\u200c\u0647\u0627<\/p>\n<\/li>\n<li data-nodeid=\"185\">\n<p data-nodeid=\"186\">\u067e\u0634\u062a\u06cc\u0628\u0627\u0646\u06cc \u0627\u0632 \u062e\u0631\u06cc\u062f \u0628\u062f\u0648\u0646 \u0639\u0636\u0648\u06cc\u062a (\u0627\u062a\u0635\u0627\u0644 \u0627\u062e\u062a\u06cc\u0627\u0631\u06cc \u0628\u0647 \u0645\u0634\u062a\u0631\u06cc)<\/p>\n<\/li>\n<\/ol>\n<h3 data-nodeid=\"187\"><strong data-nodeid=\"436\">\u0645\u0631\u062d\u0644\u0647 \u06f1: \u0645\u062f\u0644 \u0645\u0641\u0647\u0648\u0645\u06cc (\u0646\u06af\u0627\u0647 \u0628\u0647 \u062d\u0648\u0632\u0647 \u062f\u0627\u0646\u0634)<\/strong><\/h3>\n<p data-nodeid=\"188\"><em data-nodeid=\"440\">\u0628\u06cc\u200c\u0632\u0628\u0627\u0646\u060c \u0628\u0627 \u062a\u0645\u0631\u06a9\u0632 \u0628\u0631 \u0645\u0641\u0627\u0647\u06cc\u0645 \u062f\u0646\u06cc\u0627\u06cc \u0648\u0627\u0642\u0639\u06cc<\/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>\u0648\u06cc\u0631\u0627\u06cc\u0634 PlantUML \u062f\u0631 VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<div class=\"vpascode-code-wrapper\">\n            <div class=\"vpascode-viewer-container vpascode-fancy-active\">\r\n                                <div class=\"vpascode-header\">\r\n                    <span class=\"vpascode-lang-label\">PlantUML<\/span>\r\n                    <a href=\"https:\/\/www.vpascode.com#plantuml:VPJDJi904CVlJVeE6ouc9F0078olGXG_4jH4wicO2Ea7Xpw51mkDMA4Wui7dcA4tdyJ_x9QuhUY9xixCR-O_CylHmElUUBUNVTVnBhn-Jt506VluuI57FEQWY3kAPZoc1KUAKdgcXEQKAahOtqvnCOTNMCJRQH6xZkiSzxk3WM2MOYjYTUSwId48_q2-A2bYeRAlJu-K0PSB6KdCzNs5CwCLClY_E2bgUYjYs1DAjMqaP9J6dpf9L24XJuwOwEiXfWamsPxIQaWxEkUX5huqGRH49fmr3wGVkm79Dq0lDOFmQGE3AJX09JvzgEsq9fiUnOU3EhnCdj86SXBAghB7k9gLbpiqvhMW9ncDtTLFm0JmWZ23n1I1jmsbJ7G7-NSoCL9AK6vOwYdJQD-5j8H3U6wn3noMAGyCFA49hLt7Men6CM-eLWk_h-rsis7Bx2XP4I5bzAhlCdNeEfQ73cxgwBc9_gjbMD-bJ1Wh95AW-52NiTkhNsNy0yAkmiwXedSW8vpAEj6eiQcnGZP4KsLZxme2Ef67fQ6OA_iyKde4VsYs95V6s97mN3-XI1Hd-hcYgfpMmd6TgsklfsukpiuzTNrQMqnvlxPM3cMOCaK1cLRmY5Qe2TbajJFiMsKVx3Tl6kqwlQiJ9Mab_H4E-AFv1W00\" \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 \u0645\u062f\u0644 \u0645\u0641\u0647\u0648\u0645\u06cc: \u062d\u0648\u0632\u0647 \u062a\u062c\u0627\u0631\u062a \u0627\u0644\u06a9\u062a\u0631\u0648\u0646\u06cc\u06a9\u06cc\r\n\r\nclass \u0645\u0634\u062a\u0631\u06cc {\r\n  \u0646\u0627\u0645\r\n  \u0627\u06cc\u0645\u06cc\u0644\r\n  \u0622\u062f\u0631\u0633 \u062a\u062d\u0648\u06cc\u0644\r\n}\r\n\r\nclass \u0645\u062d\u0635\u0648\u0644 {\r\n  \u0646\u0627\u0645\r\n  \u062a\u0648\u0636\u06cc\u062d\u0627\u062a\r\n  \u0642\u06cc\u0645\u062a \u067e\u0627\u06cc\u0647\r\n}\r\n\r\nclass \u062f\u0633\u062a\u0647\u200c\u0628\u0646\u062f\u06cc {\r\n  \u0646\u0627\u0645\r\n  \u062a\u0648\u0636\u06cc\u062d\u0627\u062a\r\n}\r\n\r\nclass \u0633\u0641\u0627\u0631\u0634 {\r\n  \u0634\u0645\u0627\u0631\u0647\u200c\u06cc \u0633\u0641\u0627\u0631\u0634\r\n  \u062a\u0627\u0631\u06cc\u062e \u0633\u0641\u0627\u0631\u0634\r\n  \u0648\u0636\u0639\u06cc\u062a\r\n  \u0645\u0628\u0644\u063a \u06a9\u0644\r\n}\r\n\r\nclass \u0622\u06cc\u062a\u0645\u200c\u06cc \u0633\u0641\u0627\u0631\u0634 {\r\n  \u062a\u0639\u062f\u0627\u062f\r\n  \u0642\u06cc\u0645\u062a \u0648\u0627\u062d\u062f\r\n  \u0645\u0628\u0644\u063a \u062c\u0632\u0626\u06cc\r\n}\r\n\r\nclass \u067e\u0631\u062f\u0627\u062e\u062a {\r\n  \u0631\u0648\u0634 \u067e\u0631\u062f\u0627\u062e\u062a\r\n  \u0634\u0646\u0627\u0633\u0647\u200c\u06cc \u062a\u0631\u0627\u06a9\u0646\u0634\r\n  \u0645\u0628\u0644\u063a\r\n  \u0632\u0645\u0627\u0646\u200c\u0686\u06cc\u0646\r\n}\r\n\r\n' \u0631\u0648\u0627\u0628\u0637\r\n\u0645\u0634\u062a\u0631\u06cc \"\u06f1\" -- \"\u06f0..*\" \u0633\u0641\u0627\u0631\u0634 : \u0645\u06cc\u200c\u06af\u0630\u0627\u0631\u062f &gt;\r\n\u0633\u0641\u0627\u0631\u0634 \"\u06f1\" *-- \"\u06f1..*\" \u0622\u06cc\u062a\u0645\u200c\u06cc \u0633\u0641\u0627\u0631\u0634 : \u0634\u0627\u0645\u0644 \u0627\u0633\u062a &gt;\r\n\u0645\u062d\u0635\u0648\u0644 \"\u06f1\" -- \"\u06f0..*\" \u0622\u06cc\u062a\u0645\u200c\u06cc \u0633\u0641\u0627\u0631\u0634 : \u062f\u0631 \u0622\u0646 \u0638\u0627\u0647\u0631 \u0645\u06cc\u200c\u0634\u0648\u062f &gt;\r\n\u0645\u062d\u0635\u0648\u0644 \"\u06f0..*\" -- \"\u06f1\" \u062f\u0633\u062a\u0647\u200c\u0628\u0646\u062f\u06cc : \u0628\u0647 \u0622\u0646 \u062a\u0639\u0644\u0642 \u062f\u0627\u0631\u062f &gt;\r\n\u0633\u0641\u0627\u0631\u0634 \"\u06f1\" -- \"\u06f1..*\" \u067e\u0631\u062f\u0627\u062e\u062a : \u062a\u0633\u0648\u06cc\u0647 \u0634\u062f\u0647 \u062a\u0648\u0633\u0637 &gt;\r\n\r\nnote right of \u0633\u0641\u0627\u0631\u0634\r\n  \u06cc\u06a9 \u0633\u0641\u0627\u0631\u0634 \u0646\u0645\u0627\u06cc\u0646\u062f\u0647\u200c\u06cc \u0642\u0635\u062f \u062e\u0631\u06cc\u062f \u0648 \u062a\u0631\u0627\u06a9\u0646\u0634 \u0645\u0634\u062a\u0631\u06cc \u0627\u0633\u062a\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:VPJDJi904CVlJVeE6ouc9F0078olGXG_4jH4wicO2Ea7Xpw51mkDMA4Wui7dcA4tdyJ_x9QuhUY9xixCR-O_CylHmElUUBUNVTVnBhn-Jt506VluuI57FEQWY3kAPZoc1KUAKdgcXEQKAahOtqvnCOTNMCJRQH6xZkiSzxk3WM2MOYjYTUSwId48_q2-A2bYeRAlJu-K0PSB6KdCzNs5CwCLClY_E2bgUYjYs1DAjMqaP9J6dpf9L24XJuwOwEiXfWamsPxIQaWxEkUX5huqGRH49fmr3wGVkm79Dq0lDOFmQGE3AJX09JvzgEsq9fiUnOU3EhnCdj86SXBAghB7k9gLbpiqvhMW9ncDtTLFm0JmWZ23n1I1jmsbJ7G7-NSoCL9AK6vOwYdJQD-5j8H3U6wn3noMAGyCFA49hLt7Men6CM-eLWk_h-rsis7Bx2XP4I5bzAhlCdNeEfQ73cxgwBc9_gjbMD-bJ1Wh95AW-52NiTkhNsNy0yAkmiwXedSW8vpAEj6eiQcnGZP4KsLZxme2Ef67fQ6OA_iyKde4VsYs95V6s97mN3-XI1Hd-hcYgfpMmd6TgsklfsukpiuzTNrQMqnvlxPM3cMOCaK1cLRmY5Qe2TbajJFiMsKVx3Tl6kqwlQiJ9Mab_H4E-AFv1W00\" \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>\u0648\u06cc\u0631\u0627\u06cc\u0634 PlantUML \u062f\u0631 VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<\/div>\n<p data-nodeid=\"190\"><strong data-nodeid=\"444\">\u062a\u0635\u0645\u06cc\u0645\u0627\u062a \u0637\u0631\u0627\u062d\u06cc \u06a9\u0644\u06cc\u062f\u06cc:<\/strong><\/p>\n<ul data-nodeid=\"191\">\n<li data-nodeid=\"192\">\n<p data-nodeid=\"193\">\u062a\u0631\u06a9\u06cc\u0628 (<code data-backticks=\"1\" data-nodeid=\"446\">*--<\/code>) \u0628\u06cc\u0646\u00a0<code data-backticks=\"1\" data-nodeid=\"448\">\u0633\u0641\u0627\u0631\u0634<\/code>\u00a0\u0648\u00a0<code data-backticks=\"1\" data-nodeid=\"450\">\u0622\u06cc\u062a\u0645\u200c\u06cc \u0633\u0641\u0627\u0631\u0634<\/code>: \u0622\u06cc\u062a\u0645\u200c\u0647\u0627 \u0646\u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u0646\u062f \u0628\u062f\u0648\u0646 \u0633\u0641\u0627\u0631\u0634 \u0648\u062c\u0648\u062f \u062f\u0627\u0634\u062a\u0647 \u0628\u0627\u0634\u0646\u062f<\/p>\n<\/li>\n<li data-nodeid=\"194\">\n<p data-nodeid=\"195\">\u0627\u0631\u062a\u0628\u0627\u0637 \u0628\u06cc\u0646\u00a0<code data-backticks=\"1\" data-nodeid=\"453\">\u0645\u062d\u0635\u0648\u0644<\/code>\u00a0\u0648\u00a0<code data-backticks=\"1\" data-nodeid=\"455\">\u062f\u0633\u062a\u0647\u200c\u0628\u0646\u062f\u06cc<\/code>: \u0645\u062d\u0635\u0648\u0644\u0627\u062a \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u0646\u062f \u062f\u0648\u0628\u0627\u0631\u0647 \u062f\u0633\u062a\u0647\u200c\u0628\u0646\u062f\u06cc \u0634\u0648\u0646\u062f<\/p>\n<\/li>\n<li data-nodeid=\"196\">\n<p data-nodeid=\"197\">\u0686\u0646\u062f\u06af\u0627\u0646\u06af\u06cc<code data-backticks=\"1\" data-nodeid=\"458\">0..*<\/code>\u0628\u0631\u0627\u06cc \u0633\u0641\u0627\u0631\u0634 \u0645\u0634\u062a\u0631\u06cc: \u067e\u0634\u062a\u06cc\u0628\u0627\u0646\u06cc \u0627\u0632 \u062e\u0631\u06cc\u062f \u0628\u062f\u0648\u0646 \u0639\u0636\u0648\u06cc\u062a<\/p>\n<\/li>\n<\/ul>\n<hr data-nodeid=\"198\"\/>\n<h3 data-nodeid=\"199\"><strong data-nodeid=\"463\">\u0645\u0631\u062d\u0644\u0647 \u06f2: \u0645\u062f\u0644 \u0645\u0634\u062e\u0635\u0627\u062a (\u0646\u06af\u0627\u0647 \u0628\u0647 \u0631\u0627\u0628\u0637\u0647)<\/strong><\/h3>\n<p data-nodeid=\"200\"><em data-nodeid=\"467\">\u062a\u0645\u0631\u06a9\u0632 \u0628\u0631 \u0642\u0631\u0627\u0631\u062f\u0627\u062f\u0647\u0627\u06cc \u0646\u0631\u0645\u200c\u0627\u0641\u0632\u0627\u0631\u06cc\u060c \u067e\u0646\u0647\u0627\u0646 \u06a9\u0631\u062f\u0646 \u062c\u0632\u0626\u06cc\u0627\u062a \u067e\u06cc\u0627\u062f\u0647\u200c\u0633\u0627\u0632\u06cc<\/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>\u0648\u06cc\u0631\u0627\u06cc\u0634 PlantUML \u062f\u0631 VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<div class=\"vpascode-code-wrapper\">\n            <div class=\"vpascode-viewer-container vpascode-fancy-active\">\r\n                                <div class=\"vpascode-header\">\r\n                    <span class=\"vpascode-lang-label\">PlantUML<\/span>\r\n                    <a href=\"https:\/\/www.vpascode.com#plantuml:ZLJ1Zjem4Br7oZ_uLb1NV02gq5RQ2rAhNS7-W3VnRgC6czeJ95HLwbPTuC1_i9j34OMgQW_x7JRS-YKTEo6Ga4ezWEFnpFERcUSvLq0b98FOzo22c17pe9Vcgrqs-fl-eHSwRHEzmlLH__ppUMwcUh6R4xtMApFRpVNQztmlui3aBGqOwLxAaCa-awC8TnzzZv2NWMGKc3je18a2CM2o6xP97sJ4xyv816oWskHDfE2Ly-gYuUBwijDi4xV7RmTqno134SwhWAZw9SDmVs4VA2Ig6d16bBFdSPaJejm84JFACzOq3f9uZtCjWCOrzxuLd8rzxrEb2bTqF60ShgG8c592vfKOPllyz9JLC3kuO42Z6DdbZfXNizZqc4fYS72ItIOytAE1f5pH02B1Zp7fG2GSSgO8qtD1UvGgyIuV8PQGuqeBtx7W_UiHig8tKHp1k86fX4a0npTzI2X74OtR104hrPHC8I2pdQtfnh42UiwJkZJGt3a1ma_5ZhngkZ8IKPZd5iHKgK8UUJgLY2p54sKwyp_5wKx1og9G0HfgT7LA98SuYA9SIMSj5JDJDOzGKDYJikfU43DphtEjq-roDy_VgE-LdsAhrQdfBZxjXGqqzxWkpHJVlKFOFfc9Nf9EBSg9kDl4J75WBF1_OYdy3qhH4QJmY9T_tovnugJxK4ic2_KzBe2X1W3RGyHjUSJOofWlRZwjzD8cuIOO3gOL_bASKowrbTwu8KPqgd_P8tDV9jboGCyOu-fW6QmjgwAU1R7KbjjCN6PubIiTcj8iZOspDmxZyJ0oyQBPTh9zqdFhkaB7XNd0akyiXMTBSZkn7PWH_TloDzEcxp4U4fk_hSCvRd1I_mK0\" \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 \u0645\u062f\u0644 \u0645\u0634\u062e\u0635\u0627\u062a: \u0631\u0627\u0628\u0637\u200c\u0647\u0627\u06cc \u0633\u0631\u0648\u06cc\u0633\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' \u0648\u0627\u0628\u0633\u062a\u06af\u06cc\u200c\u0647\u0627\r\nIOrderService ..&gt; IInventoryService : \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0645\u06cc\u200c\u06a9\u0646\u062f &gt;\r\nIOrderService ..&gt; IPaymentProcessor : \u0647\u0645\u0627\u0647\u0646\u06af\u06cc \u0645\u06cc\u200c\u06a9\u0646\u062f &gt;\r\nIOrderService ..&gt; OrderDTO : \u0628\u0627\u0632\u06af\u0634\u062a \u0645\u06cc\u200c\u062f\u0647\u062f &gt;\r\n\r\nnote bottom of IOrderService\r\n  \u0642\u0631\u0627\u0631\u062f\u0627\u062f \u0645\u062f\u06cc\u0631\u06cc\u062a \u0633\u0641\u0627\u0631\u0634 \u0631\u0627 \u062a\u0639\u0631\u06cc\u0641 \u0645\u06cc\u200c\u06a9\u0646\u062f.\r\n  \u067e\u06cc\u0627\u062f\u0647\u200c\u0633\u0627\u0632\u06cc\u200c\u0647\u0627 \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u0646\u062f \u0645\u062a\u0641\u0627\u0648\u062a \u0628\u0627\u0634\u0646\u062f (\u0633\u0631\u0648\u06cc\u0633\u200c\u0647\u0627\u06cc \u06a9\u0648\u0686\u06a9\u060c \u0628\u0631\u0646\u0627\u0645\u0647 \u06cc\u06a9\u067e\u0627\u0631\u0686\u0647 \u0648 \u063a\u06cc\u0631\u0647)\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:ZLJ1Zjem4Br7oZ_uLb1NV02gq5RQ2rAhNS7-W3VnRgC6czeJ95HLwbPTuC1_i9j34OMgQW_x7JRS-YKTEo6Ga4ezWEFnpFERcUSvLq0b98FOzo22c17pe9Vcgrqs-fl-eHSwRHEzmlLH__ppUMwcUh6R4xtMApFRpVNQztmlui3aBGqOwLxAaCa-awC8TnzzZv2NWMGKc3je18a2CM2o6xP97sJ4xyv816oWskHDfE2Ly-gYuUBwijDi4xV7RmTqno134SwhWAZw9SDmVs4VA2Ig6d16bBFdSPaJejm84JFACzOq3f9uZtCjWCOrzxuLd8rzxrEb2bTqF60ShgG8c592vfKOPllyz9JLC3kuO42Z6DdbZfXNizZqc4fYS72ItIOytAE1f5pH02B1Zp7fG2GSSgO8qtD1UvGgyIuV8PQGuqeBtx7W_UiHig8tKHp1k86fX4a0npTzI2X74OtR104hrPHC8I2pdQtfnh42UiwJkZJGt3a1ma_5ZhngkZ8IKPZd5iHKgK8UUJgLY2p54sKwyp_5wKx1og9G0HfgT7LA98SuYA9SIMSj5JDJDOzGKDYJikfU43DphtEjq-roDy_VgE-LdsAhrQdfBZxjXGqqzxWkpHJVlKFOFfc9Nf9EBSg9kDl4J75WBF1_OYdy3qhH4QJmY9T_tovnugJxK4ic2_KzBe2X1W3RGyHjUSJOofWlRZwjzD8cuIOO3gOL_bASKowrbTwu8KPqgd_P8tDV9jboGCyOu-fW6QmjgwAU1R7KbjjCN6PubIiTcj8iZOspDmxZyJ0oyQBPTh9zqdFhkaB7XNd0akyiXMTBSZkn7PWH_TloDzEcxp4U4fk_hSCvRd1I_mK0\" \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>\u0648\u06cc\u0631\u0627\u06cc\u0634 PlantUML \u062f\u0631 VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<\/div>\n<p data-nodeid=\"202\"><strong data-nodeid=\"471\">\u0645\u0632\u0627\u06cc\u0627\u06cc \u0645\u0639\u0645\u0627\u0631\u06cc:<\/strong><\/p>\n<ul data-nodeid=\"203\">\n<li data-nodeid=\"204\">\n<p data-nodeid=\"205\">\u062c\u062f\u0627 \u06a9\u0631\u062f\u0646 \u0631\u0627\u0628\u0637\u200c\u0647\u0627 \u0627\u0645\u06a9\u0627\u0646 \u0646\u0635\u0628 \u0645\u0633\u062a\u0642\u0644 \u0631\u0627 \u0641\u0631\u0627\u0647\u0645 \u0645\u06cc\u200c\u06a9\u0646\u062f<\/p>\n<\/li>\n<li data-nodeid=\"206\">\n<p data-nodeid=\"207\">DTO\u0647\u0627 \u0645\u062f\u0644\u200c\u0647\u0627\u06cc \u062f\u0627\u062e\u0644\u06cc \u0631\u0627 \u0627\u0632 \u0642\u0631\u0627\u0631\u062f\u0627\u062f\u0647\u0627\u06cc API \u062c\u062f\u0627 \u0645\u06cc\u200c\u06a9\u0646\u0646\u062f<\/p>\n<\/li>\n<li data-nodeid=\"208\">\n<p data-nodeid=\"209\">\u0648\u0627\u0628\u0633\u062a\u06af\u06cc\u200c\u0647\u0627 \u0628\u0647 \u0637\u0648\u0631 \u0648\u0627\u0636\u062d \u0645\u0631\u0632\u0647\u0627\u06cc \u0633\u0631\u0648\u06cc\u0633\u200c\u0647\u0627 \u0628\u0631\u0627\u06cc \u0633\u0631\u0648\u06cc\u0633\u200c\u0647\u0627\u06cc \u06a9\u0648\u0686\u06a9 \u0631\u0627 \u0646\u0634\u0627\u0646 \u0645\u06cc\u200c\u062f\u0647\u0646\u062f<\/p>\n<\/li>\n<\/ul>\n<hr data-nodeid=\"210\"\/>\n<h3 data-nodeid=\"211\"><strong data-nodeid=\"478\">\u0645\u0631\u062d\u0644\u0647 \u06f3: \u0645\u062f\u0644 \u067e\u06cc\u0627\u062f\u0647\u200c\u0633\u0627\u0632\u06cc (\u0646\u06af\u0627\u0647 \u0628\u0647 \u06a9\u062f)<\/strong><\/h3>\n<p data-nodeid=\"212\"><em data-nodeid=\"482\">\u062c\u0632\u0626\u06cc\u0627\u062a \u0648\u0627\u0628\u0633\u062a\u0647 \u0628\u0647 \u0641\u0646\u0627\u0648\u0631\u06cc \u0628\u0631\u0627\u06cc \u067e\u06cc\u0627\u062f\u0647\u200c\u0633\u0627\u0632\u06cc \u062c\u0627\u0648\u0627\/\u0627\u0633\u067e\u0631\u06cc\u0646\u06af \u0628\u0648\u062a<\/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>\u0648\u06cc\u0631\u0627\u06cc\u0634 PlantUML \u062f\u0631 VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<div class=\"vpascode-code-wrapper\">\n            <div class=\"vpascode-viewer-container vpascode-fancy-active\">\r\n                                <div class=\"vpascode-header\">\r\n                    <span class=\"vpascode-lang-label\">PlantUML<\/span>\r\n                    <a href=\"https:\/\/www.vpascode.com#plantuml:TLNDJXin4Bv7oZkCk3GKsAhNLOj8avH62X0bj7TtrmIBtNMmlQ2eGceh_WvvYbv2KTKq1OaRp-4bjpv9nxjUyWSNh-VtytoU7Mz8HOIAmw1OK4m5598pFKnE8RaVz_K0jnV_llRr3Mx_ZlikFFnCJd5_WyhaGW_6VT2_z22vr8DNHftSwz6udvm_345VeVQwM2WMkiGx81qA7WyTYaj8XKSTBdmg71eXQW--50i0Na2aX1sZpnG0Qnjr7rBFkk_2nu_rQgxV8b5lb-z4c3QMYcDE5ofsb_kWTPSRnv97f4Ty-hRSQ2m3KpIKBZIOL6zIj3egrcrG2bObYg83zqXWjhiifDQCRAaOWzEuTYfOY-AA1EMGnv5ouHthLAd7GX9arcnT8Rvli4fTmVtOGxzcjbc5GzLpWKLgsOKZpdphZ_XU79WJcEIbvSN4Ao4H1sNPtcVTBlLBK-4dPfcZrO3FK6keU9xPb0jRww9rlWZhSHYJz4xJSgmkZfXg2kRHPvdfKDMEFwkdotmiXKPnE4rzNakpjbsjRszcGcLd-tszjLMp1RK_r9lDNAZM6lLFjLOkLihRbLgZaOc8Sl9yktP9ByHcTIGLHrZ8TCSsCrDxscAeAiUA7pD1VR31ctYJnmIPQSx8Y_ufyItQvP8fBdhs2YQA6Uhm7ZmgfSrPclbRLi5N_16lHGzZAasFFIfabqSoR-uZ4Z0VpsIjLQe82sJfwHIJDbsBkoOgFMFEHNezysV9VvuPfwTQ5Zk7YZs2PCuobNExukqJqQ4bil2xhO97109MSBNdHu1TGI99FCLuX2N7WUtB5K7tuiWlgOdP7BQj18iwgx2O7LErqf19bhnhNe0UcJ6eh_HTiP0DiQNNI_1oRGs_ZlDoQUeNT45Vwz73JnonLx2UkplE-dmlkM1ptkZhvCBCr0lZF-Sr5PWJXGW3dCmZFJ2Rlw3lqi7ytKGN2n5N50Jhx2lWUvDpcNgIStsB0_qSWJPgsN1EKJ7PCBbC7mOpzX-6w8JQOVP6c5TZb4xyEzoE--RDk4Lfw9YSbSdqDQUvCnw8WoYFpfX33ythWZb_82tNoPbzOX3UB3V9DmmTwLlGV_Hlz1WPLyJ0H0Q5HZwOianv6oZWY_OV\" \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 \u0645\u062f\u0644 \u067e\u06cc\u0627\u062f\u0647\u200c\u0633\u0627\u0632\u06cc: \u06a9\u0644\u0627\u0633\u200c\u0647\u0627\u06cc \u062c\u0627\u0648\u0627\/\u0627\u0633\u067e\u0631\u06cc\u0646\u06af \u0628\u0648\u062a\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' \u0631\u0648\u0627\u0628\u0637\r\nOrder \"1\" *-- \"1..*\" OrderItem : \u062a\u0631\u06a9\u06cc\u0628 &gt;\r\nOrder ..&gt; PaymentService : \u0648\u0627\u0628\u0633\u062a\u0647 \u0628\u0647 &gt;\r\nPaymentService ..&gt; PaymentGateway : \u0627\u062c\u0631\u0627 \u0627\u0632 \u0637\u0631\u06cc\u0642 &gt;\r\n\r\nnote right of OrderItem\r\n  \u0646\u0634\u0627\u0646\u0647 @Entity \u0628\u0647 \u062c\u062f\u0648\u0644 \u067e\u0627\u06cc\u06af\u0627\u0647 \u062f\u0627\u062f\u0647 \u0645\u0631\u0628\u0648\u0637 \u0645\u06cc\u200c\u0634\u0648\u062f.\r\n  Cascade=ALL \u0627\u0637\u0645\u06cc\u0646\u0627\u0646 \u0645\u06cc\u200c\u062f\u0647\u062f \u06a9\u0647 \u0622\u06cc\u062a\u0645\u200c\u0647\u0627 \u0628\u0627 \u0633\u0641\u0627\u0631\u0634 \u0630\u062e\u06cc\u0631\u0647 \u0634\u0648\u0646\u062f.\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:TLNDJXin4Bv7oZkCk3GKsAhNLOj8avH62X0bj7TtrmIBtNMmlQ2eGceh_WvvYbv2KTKq1OaRp-4bjpv9nxjUyWSNh-VtytoU7Mz8HOIAmw1OK4m5598pFKnE8RaVz_K0jnV_llRr3Mx_ZlikFFnCJd5_WyhaGW_6VT2_z22vr8DNHftSwz6udvm_345VeVQwM2WMkiGx81qA7WyTYaj8XKSTBdmg71eXQW--50i0Na2aX1sZpnG0Qnjr7rBFkk_2nu_rQgxV8b5lb-z4c3QMYcDE5ofsb_kWTPSRnv97f4Ty-hRSQ2m3KpIKBZIOL6zIj3egrcrG2bObYg83zqXWjhiifDQCRAaOWzEuTYfOY-AA1EMGnv5ouHthLAd7GX9arcnT8Rvli4fTmVtOGxzcjbc5GzLpWKLgsOKZpdphZ_XU79WJcEIbvSN4Ao4H1sNPtcVTBlLBK-4dPfcZrO3FK6keU9xPb0jRww9rlWZhSHYJz4xJSgmkZfXg2kRHPvdfKDMEFwkdotmiXKPnE4rzNakpjbsjRszcGcLd-tszjLMp1RK_r9lDNAZM6lLFjLOkLihRbLgZaOc8Sl9yktP9ByHcTIGLHrZ8TCSsCrDxscAeAiUA7pD1VR31ctYJnmIPQSx8Y_ufyItQvP8fBdhs2YQA6Uhm7ZmgfSrPclbRLi5N_16lHGzZAasFFIfabqSoR-uZ4Z0VpsIjLQe82sJfwHIJDbsBkoOgFMFEHNezysV9VvuPfwTQ5Zk7YZs2PCuobNExukqJqQ4bil2xhO97109MSBNdHu1TGI99FCLuX2N7WUtB5K7tuiWlgOdP7BQj18iwgx2O7LErqf19bhnhNe0UcJ6eh_HTiP0DiQNNI_1oRGs_ZlDoQUeNT45Vwz73JnonLx2UkplE-dmlkM1ptkZhvCBCr0lZF-Sr5PWJXGW3dCmZFJ2Rlw3lqi7ytKGN2n5N50Jhx2lWUvDpcNgIStsB0_qSWJPgsN1EKJ7PCBbC7mOpzX-6w8JQOVP6c5TZb4xyEzoE--RDk4Lfw9YSbSdqDQUvCnw8WoYFpfX33ythWZb_82tNoPbzOX3UB3V9DmmTwLlGV_Hlz1WPLyJ0H0Q5HZwOianv6oZWY_OV\" \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>\u0648\u06cc\u0631\u0627\u06cc\u0634 PlantUML \u062f\u0631 VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<\/div>\n<p data-nodeid=\"214\"><strong data-nodeid=\"486\">\u0646\u06a9\u0627\u062a \u0628\u0631\u062c\u0633\u062a\u0647 \u067e\u06cc\u0627\u062f\u0647\u200c\u0633\u0627\u0632\u06cc:<\/strong><\/p>\n<ul data-nodeid=\"215\">\n<li data-nodeid=\"216\">\n<p data-nodeid=\"217\">\u0646\u0634\u0627\u0646\u0647\u200c\u0647\u0627\u06cc JPA (<code data-backticks=\"1\" data-nodeid=\"488\">@Entity<\/code>,\u00a0<code data-backticks=\"1\" data-nodeid=\"490\">@ManyToOne<\/code>) \u0628\u0631\u0627\u06cc \u0646\u06af\u0627\u0634\u062a ORM<\/p>\n<\/li>\n<li data-nodeid=\"218\">\n<p data-nodeid=\"219\">\u0648\u0631\u0648\u062f \u0648\u0627\u0628\u0633\u062a\u06af\u06cc (<code data-backticks=\"1\" data-nodeid=\"493\">@Autowired<\/code>) \u0628\u0631\u0627\u06cc \u0627\u062a\u0635\u0627\u0644 \u06a9\u0645<\/p>\n<\/li>\n<li data-nodeid=\"220\">\n<p data-nodeid=\"221\">\u0627\u0646\u0648\u0627\u0639 \u0628\u0631\u0627\u06cc \u0645\u062f\u06cc\u0631\u06cc\u062a \u0648\u0636\u0639\u06cc\u062a \u0633\u0641\u0627\u0631\u0634 \u0628\u0627 \u0627\u06cc\u0645\u0646\u06cc \u0646\u0648\u0639<\/p>\n<\/li>\n<li data-nodeid=\"222\">\n<p data-nodeid=\"223\">\u0631\u0648\u0634\u200c\u0647\u0627\u06cc \u06a9\u0645\u06a9\u06cc \u062e\u0635\u0648\u0635\u06cc (<code data-backticks=\"1\" data-nodeid=\"497\">-\u0627\u0639\u062a\u0628\u0627\u0631\u0633\u0646\u062c\u06cc \u062c\u0632\u0626\u06cc\u0627\u062a \u067e\u0631\u062f\u0627\u062e\u062a<\/code>) \u0645\u0646\u0637\u0642 \u0631\u0627 \u0628\u0633\u062a\u0647\u200c\u0628\u0646\u062f\u06cc \u0645\u06cc\u200c\u06a9\u0646\u0646\u062f<\/p>\n<\/li>\n<\/ul>\n<hr data-nodeid=\"224\"\/>\n<h2 data-nodeid=\"225\"><strong data-nodeid=\"504\">\u0627\u0644\u06af\u0648\u0647\u0627\u06cc \u067e\u06cc\u0634\u0631\u0641\u062a\u0647 \u0648 \u0628\u0647\u062a\u0631\u06cc\u0646 \u0631\u0648\u0634\u200c\u0647\u0627<\/strong><\/h2>\n<h3 data-nodeid=\"226\"><strong data-nodeid=\"508\">1. \u0645\u062f\u06cc\u0631\u06cc\u062a \u062f\u06cc\u062f\u0647\u200c\u0634\u062f\u0646 \u0648 \u067e\u0648\u0634\u0634\u200c\u062f\u0647\u06cc<\/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\">PlantUML<\/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>\u0648\u06cc\u0631\u0627\u06cc\u0634 PlantUML \u062f\u0631 VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<div class=\"vpascode-code-wrapper\">\n            <div class=\"vpascode-viewer-container vpascode-fancy-active\">\r\n                                <div class=\"vpascode-header\">\r\n                    <span class=\"vpascode-lang-label\">PlantUML<\/span>\r\n                    <a href=\"https:\/\/www.vpascode.com#plantuml:PL91IiD05Dq7SeSFRYhY1O98MrnO417q0jDaZ8Ff19A98AAefBMB7C0Rf2rgY6t5tkHFilCa_acH2brbtdzltljlI3jMB5B98B0jDs1n35qchpkk6oPImPrj0UonDJfD1dqUEN2k8Y7zXl6vwhA0IPUtTXte2l-8ksB00aFkzzVCrbn5JCRCLIAKno9MONJhm0aT3YusnA5HxhWiS9E0ATwJYaSyLgs8W0DUcFG3lfNu88nCig2JU4APZMv2uTdMlMtPbWmLXqZuLmh2o_ybcoA0AptKOpsiCmSwPpt02PQOrnde8IvmXcMTOQv7W1-O4_DMPqqNWvTwZ4jpZxvVk2BX3B0WsOTE2MG6p8q5piblOm1wrCXAB9gs9kgTGfxm6sS_Zndb5lh5sQnI_Vai03_9kQocEYM3ULFUw8WsD_GpJISwfMII5MRj0ikrVq5RaYtKMJKraxnwfTwfRN7fWNaasshJaNw8Nm00\" \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  + \u0639\u0645\u0648\u0645\u06cc: API \u0628\u0631\u0627\u06cc \u0645\u0634\u062a\u0631\u06cc\u0627\u0646 \u062e\u0627\u0631\u062c\u06cc\r\n  - \u062e\u0635\u0648\u0635\u06cc: \u0648\u0636\u0639\u06cc\u062a \u062f\u0627\u062e\u0644\u06cc\u060c \u062f\u0633\u062a\u0631\u0633\u06cc \u062e\u0627\u0631\u062c\u06cc \u0646\u062f\u0627\u0631\u062f\r\n  # \u0645\u062d\u0627\u0641\u0638\u062a\u200c\u0634\u062f\u0647: \u0628\u0631\u0627\u06cc \u06af\u0633\u062a\u0631\u0634 \u0632\u06cc\u0631\u06a9\u0644\u0627\u0633\r\n  ~ \u0628\u0633\u062a\u0647: \u0642\u0627\u0628\u0644 \u062f\u06cc\u062f\u0646 \u062f\u0631 \u0645\u062d\u062f\u0648\u062f\u0647 \u06cc\u06a9 \u0645\u0627\u0698\u0648\u0644\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:PL91IiD05Dq7SeSFRYhY1O98MrnO417q0jDaZ8Ff19A98AAefBMB7C0Rf2rgY6t5tkHFilCa_acH2brbtdzltljlI3jMB5B98B0jDs1n35qchpkk6oPImPrj0UonDJfD1dqUEN2k8Y7zXl6vwhA0IPUtTXte2l-8ksB00aFkzzVCrbn5JCRCLIAKno9MONJhm0aT3YusnA5HxhWiS9E0ATwJYaSyLgs8W0DUcFG3lfNu88nCig2JU4APZMv2uTdMlMtPbWmLXqZuLmh2o_ybcoA0AptKOpsiCmSwPpt02PQOrnde8IvmXcMTOQv7W1-O4_DMPqqNWvTwZ4jpZxvVk2BX3B0WsOTE2MG6p8q5piblOm1wrCXAB9gs9kgTGfxm6sS_Zndb5lh5sQnI_Vai03_9kQocEYM3ULFUw8WsD_GpJISwfMII5MRj0ikrVq5RaYtKMJKraxnwfTwfRN7fWNaasshJaNw8Nm00\" \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>\u0648\u06cc\u0631\u0627\u06cc\u0634 PlantUML \u062f\u0631 VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<\/div>\n<h3 data-nodeid=\"228\"><strong data-nodeid=\"512\">2. \u0686\u0646\u062f\u06af\u0627\u0646\u06af\u06cc \u062f\u0631 \u0633\u0646\u0627\u0631\u06cc\u0648\u0647\u0627\u06cc \u062f\u0646\u06cc\u0627\u06cc \u0648\u0627\u0642\u0639\u06cc<\/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\">PlantUML<\/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>\u0648\u06cc\u0631\u0627\u06cc\u0634 PlantUML \u062f\u0631 VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<div class=\"vpascode-code-wrapper\">\n            <div class=\"vpascode-viewer-container vpascode-fancy-active\">\r\n                                <div class=\"vpascode-header\">\r\n                    <span class=\"vpascode-lang-label\">PlantUML<\/span>\r\n                    <a href=\"https:\/\/www.vpascode.com#plantuml:RLBBIiDG4Dq7yWz3DrfVs6r04NNZJkWNn2HeiCcjwQqW8cX9Qy5yXPlOIWsbAhZnE-Ocktw9Ctbe57TpvyuvPywvTwydpK3slOwkMHspruFscUXsNV_qWDfmhMi0wwPj7qd7M-q6mkvRqe3ZejY02tbbWElBfW6NmhNpwS3nnALJ1npP1hHbGAGqTo94np5zNRlHjKgpv2lbVDDpAa3Uw0QkHPrzz_JGiLpFxEHTrszBOPt_PLo1B4edW0jymWJm1UTPH8KQPj7oDiAf6cEiHjJP1fnY3EaeFwaXNSmPaM2ChpHt3yJ0PSAawXxdzI4ro28r8Ae76gFPN5GDSOPlQgn2o94npkcgb4udBAHhlm9kj1gmjha9ZUsjhRN6Tn06C9haGjXbKxwG3lcKKdZiNGqA5xJ2g3IG9jn8aomoU69v-mXC2JkyoGjEAOGuZoAg7A_Y4nt9ARU9fpBNhF0j1jUDiiSi8k0x-Heph5dJQlsdXTC2Giaygx28woETu0BK9vEeEuo9F_mHBPUUyJkGp_1RjKQHhneNBx5W2YfVYSBnRU2eT6sFIlhKNm00\" \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' \u06cc\u06a9 \u0633\u0628\u062f \u062e\u0631\u06cc\u062f \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u062f 0 \u062a\u0627 \u0686\u0646\u062f \u0645\u0648\u0631\u062f \u062f\u0627\u0634\u062a\u0647 \u0628\u0627\u0634\u062f\r\n' \u0647\u0631 \u0645\u0648\u0631\u062f \u062f\u0642\u06cc\u0642\u0627\u064b \u0628\u0647 \u06cc\u06a9 \u0645\u062d\u0635\u0648\u0644 \u0627\u0634\u0627\u0631\u0647 \u0645\u06cc\u200c\u06a9\u0646\u062f\r\nShoppingCart \"1\" *-- \"0..*\" Product : \u0634\u0627\u0645\u0644 &gt;\r\n\r\nnote bottom\r\n  \u0642\u0648\u0627\u0646\u06cc\u0646 \u0686\u0646\u062f\u06af\u0627\u0646\u06af\u06cc:\r\n  \u2022 0..* = \u0627\u062e\u062a\u06cc\u0627\u0631\u06cc\u060c \u0686\u0646\u062f (\u0628\u06cc\u0634\u062a\u0631\u06cc\u0646 \u0645\u0648\u0631\u062f)\r\n  \u2022 1 = \u062f\u0642\u06cc\u0642\u0627\u064b \u06cc\u06a9\u06cc (\u0636\u0631\u0648\u0631\u06cc)\r\n  \u2022 0..1 = \u0627\u062e\u062a\u06cc\u0627\u0631\u06cc\u060c \u062a\u06a9\u06cc (\u0645\u062b\u0644\u0627\u064b \u0639\u06a9\u0633 \u067e\u0631\u0648\u0641\u0627\u06cc\u0644)\r\n  \u2022 1..* = \u062d\u062f\u0627\u0642\u0644 \u06cc\u06a9\u06cc (\u0645\u062b\u0644\u0627\u064b \u0645\u0648\u0627\u0631\u062f \u0633\u0641\u0627\u0631\u0634)\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:RLBBIiDG4Dq7yWz3DrfVs6r04NNZJkWNn2HeiCcjwQqW8cX9Qy5yXPlOIWsbAhZnE-Ocktw9Ctbe57TpvyuvPywvTwydpK3slOwkMHspruFscUXsNV_qWDfmhMi0wwPj7qd7M-q6mkvRqe3ZejY02tbbWElBfW6NmhNpwS3nnALJ1npP1hHbGAGqTo94np5zNRlHjKgpv2lbVDDpAa3Uw0QkHPrzz_JGiLpFxEHTrszBOPt_PLo1B4edW0jymWJm1UTPH8KQPj7oDiAf6cEiHjJP1fnY3EaeFwaXNSmPaM2ChpHt3yJ0PSAawXxdzI4ro28r8Ae76gFPN5GDSOPlQgn2o94npkcgb4udBAHhlm9kj1gmjha9ZUsjhRN6Tn06C9haGjXbKxwG3lcKKdZiNGqA5xJ2g3IG9jn8aomoU69v-mXC2JkyoGjEAOGuZoAg7A_Y4nt9ARU9fpBNhF0j1jUDiiSi8k0x-Heph5dJQlsdXTC2Giaygx28woETu0BK9vEeEuo9F_mHBPUUyJkGp_1RjKQHhneNBx5W2YfVYSBnRU2eT6sFIlhKNm00\" \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>\u0648\u06cc\u0631\u0627\u06cc\u0634 PlantUML \u062f\u0631 VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<\/div>\n<h3 data-nodeid=\"230\"><strong data-nodeid=\"516\">3. \u06a9\u0644\u0627\u0633\u200c\u0647\u0627\u06cc \u0645\u062c\u0631\u062f \u062f\u0631 \u0645\u0642\u0627\u0628\u0644 \u0631\u0627\u0628\u0637\u200c\u0647\u0627<\/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\">PlantUML<\/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>\u0648\u06cc\u0631\u0627\u06cc\u0634 PlantUML \u062f\u0631 VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<div class=\"vpascode-code-wrapper\">\n            <div class=\"vpascode-viewer-container vpascode-fancy-active\">\r\n                                <div class=\"vpascode-header\">\r\n                    <span class=\"vpascode-lang-label\">PlantUML<\/span>\r\n                    <a href=\"https:\/\/www.vpascode.com#plantuml:ZP8xJiD048PxIxx3I3GWAnUmA590IHgVOErid4NsRhIxYOG02I586f-3F7XOIK1qd6FiT9o4MHU8F0gwqV__yytCQjl6Ccs7UUPxB3PMiyH2aZ5ZeAEiw8c4MQ4aNFiUm97cYHW8Bcq8aTL2fesQSsDOolzgmI_BSDazFWaXLYhZJ3Pcfj8pdeaHrrVE6YdHzRrRt_Cz8ItNFPPmEC-PoFPN2CmmlkJ9rWB1temTLdGH7I0D-ahopZ2FkVu7RGjmUjDgxMzuABGpsf6aiXoqIFiML0-sNO1wNZtW5DTGFU8BBh4C0LznIkB2IU-um6KzXm2ghqr1mRAQVDyLkAPojIc0UbRuj2aSYhgdECFF4AhxfYQQwm1yQu0VM1358Oaq8sdi0CI19ljCtBeaQqboFQx6MDQbIrKJtwCt0dU8xxMffE_p0m00\" \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  \u06a9\u0644\u0627\u0633 \u0645\u062c\u0631\u062f: \u062d\u0627\u0644\u062a \u0645\u0634\u062a\u0631\u06a9 + \u067e\u06cc\u0627\u062f\u0647\u200c\u0633\u0627\u0632\u06cc \u062c\u0632\u0626\u06cc\r\n  \u0631\u0627\u0628\u0637: \u0642\u0631\u0627\u0631\u062f\u0627\u062f \u062e\u0627\u0644\u0635\u060c \u067e\u0634\u062a\u06cc\u0628\u0627\u0646\u06cc \u0627\u0632 \u0627\u0631\u062b\u200c\u06af\u06cc\u0631\u06cc \u0686\u0646\u062f\u06af\u0627\u0646\u0647\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:ZP8xJiD048PxIxx3I3GWAnUmA590IHgVOErid4NsRhIxYOG02I586f-3F7XOIK1qd6FiT9o4MHU8F0gwqV__yytCQjl6Ccs7UUPxB3PMiyH2aZ5ZeAEiw8c4MQ4aNFiUm97cYHW8Bcq8aTL2fesQSsDOolzgmI_BSDazFWaXLYhZJ3Pcfj8pdeaHrrVE6YdHzRrRt_Cz8ItNFPPmEC-PoFPN2CmmlkJ9rWB1temTLdGH7I0D-ahopZ2FkVu7RGjmUjDgxMzuABGpsf6aiXoqIFiML0-sNO1wNZtW5DTGFU8BBh4C0LznIkB2IU-um6KzXm2ghqr1mRAQVDyLkAPojIc0UbRuj2aSYhgdECFF4AhxfYQQwm1yQu0VM1358Oaq8sdi0CI19ljCtBeaQqboFQx6MDQbIrKJtwCt0dU8xxMffE_p0m00\" \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>\u0648\u06cc\u0631\u0627\u06cc\u0634 PlantUML \u062f\u0631 VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<\/div>\n<hr data-nodeid=\"232\"\/>\n<h2 data-nodeid=\"233\"><strong data-nodeid=\"522\">\u062e\u0637\u0627\u0647\u0627\u06cc \u0631\u0627\u06cc\u062c \u0648 \u0646\u062d\u0648\u0647 \u062c\u0644\u0648\u06af\u06cc\u0631\u06cc \u0627\u0632 \u0622\u0646\u0647\u0627<\/strong><\/h2>\n<table data-nodeid=\"235\">\n<thead data-nodeid=\"236\">\n<tr data-nodeid=\"237\">\n<th data-nodeid=\"239\">\u062e\u0637\u0627<\/th>\n<th data-nodeid=\"240\">\u0639\u0644\u0627\u0626\u0645<\/th>\n<th data-nodeid=\"241\">\u0631\u0627\u0647\u200c\u062d\u0644<\/th>\n<\/tr>\n<\/thead>\n<tbody data-nodeid=\"245\">\n<tr data-nodeid=\"246\">\n<td data-nodeid=\"247\"><strong data-nodeid=\"529\">\u0637\u0631\u0627\u062d\u06cc \u0628\u06cc\u0634 \u0627\u0632 \u062d\u062f<\/strong><\/td>\n<td data-nodeid=\"248\">\u0646\u0645\u0648\u062f\u0627\u0631\u0647\u0627 \u0628\u0627 \u0628\u06cc\u0634 \u0627\u0632 50 \u06a9\u0644\u0627\u0633\u060c \u062e\u0648\u0627\u0646\u062f\u0646 \u062f\u0634\u0648\u0627\u0631<\/td>\n<td data-nodeid=\"249\">\u0628\u0627 \u0645\u062f\u0644 \u0645\u0641\u0647\u0648\u0645\u06cc \u0634\u0631\u0648\u0639 \u06a9\u0646\u06cc\u062f\u061b \u0628\u0647 \u0646\u0645\u0648\u062f\u0627\u0631\u0647\u0627\u06cc \u0645\u062a\u0639\u062f\u062f \u0628\u0627 \u062a\u0642\u0633\u06cc\u0645 \u0628\u0631 \u0627\u0633\u0627\u0633 \u0645\u062d\u062f\u0648\u062f\u0647 \u0645\u062d\u062f\u0648\u062f\u0647\u200c\u0628\u0646\u062f\u06cc \u0634\u062f\u0647 \u062a\u0642\u0633\u06cc\u0645 \u06a9\u0646\u06cc\u062f<\/td>\n<\/tr>\n<tr data-nodeid=\"250\">\n<td data-nodeid=\"251\"><strong data-nodeid=\"535\">\u0627\u0634\u062a\u0628\u0627\u0647 \u062f\u0631 \u062a\u0631\u06a9\u06cc\u0628\/\u062a\u0631\u06a9\u06cc\u0628\u200c\u0628\u0646\u062f\u06cc<\/strong><\/td>\n<td data-nodeid=\"252\">\u0645\u062f\u06cc\u0631\u06cc\u062a \u0686\u0631\u062e\u0647 \u0632\u0646\u062f\u06af\u06cc \u0634\u06cc\u0621 \u0646\u0627\u0645\u0634\u062e\u0635<\/td>\n<td data-nodeid=\"253\">\u067e\u0631\u0633\u0634 \u06a9\u0646\u06cc\u062f: \u00ab\u0627\u06af\u0631 \u06a9\u0644 \u0627\u0632 \u0628\u06cc\u0646 \u0628\u0631\u0648\u062f\u060c \u0622\u06cc\u0627 \u0642\u0633\u0645\u062a\u200c\u0647\u0627 \u0628\u0627\u0642\u06cc \u0645\u06cc\u200c\u0645\u0627\u0646\u0646\u062f\u061f\u00bb \u0627\u06af\u0631 \u062e\u06cc\u0631 \u2192 \u0627\u0632 \u062a\u0631\u06a9\u06cc\u0628\u200c\u0628\u0646\u062f\u06cc \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u06cc\u062f (<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\">\u0646\u0627\u062f\u06cc\u062f\u0647 \u06af\u0631\u0641\u062a\u0646 \u0642\u0627\u0628\u0644\u06cc\u062a \u062d\u0631\u06a9\u062a\u200c\u067e\u0630\u06cc\u0631\u06cc<\/strong><\/td>\n<td data-nodeid=\"256\">\u067e\u06cc\u06a9\u0627\u0646\u200c\u0647\u0627\u06cc \u062f\u0648\u0637\u0631\u0641\u0647 \u062f\u0631 \u0647\u0645\u0647 \u062c\u0627<\/td>\n<td data-nodeid=\"257\">\u0641\u0642\u0637 \u067e\u06cc\u06a9\u0627\u0646\u200c\u0647\u0627\u06cc \u0642\u0627\u0628\u0644\u06cc\u062a \u062d\u0631\u06a9\u062a\u200c\u067e\u0630\u06cc\u0631\u06cc \u0631\u0627 \u062f\u0631 \u062c\u0627\u0647\u0627\u06cc\u06cc \u0627\u0636\u0627\u0641\u0647 \u06a9\u0646\u06cc\u062f \u06a9\u0647 \u062f\u0631 \u06a9\u062f \u0646\u06cc\u0627\u0632 \u0628\u0647 \u0639\u0628\u0648\u0631 \u0648\u062c\u0648\u062f \u062f\u0627\u0634\u062a\u0647 \u0628\u0627\u0634\u062f<\/td>\n<\/tr>\n<tr data-nodeid=\"258\">\n<td data-nodeid=\"259\"><strong data-nodeid=\"553\">\u062a\u0631\u06a9\u06cc\u0628 \u0633\u0637\u0648\u062d \u0645\u062e\u062a\u0644\u0641 \u062a\u0639\u0645\u06cc\u0645<\/strong><\/td>\n<td data-nodeid=\"260\">\u06a9\u0644\u0627\u0633\u200c\u0647\u0627\u06cc DTO \u0628\u0627 \u06a9\u0644\u0627\u0633\u200c\u0647\u0627\u06cc \u0645\u0648\u062c\u0648\u062f\u06cc\u062a \u062f\u0631 \u06cc\u06a9 \u0646\u0645\u0648\u062f\u0627\u0631 \u062a\u0631\u06a9\u06cc\u0628 \u0634\u062f\u0647\u200c\u0627\u0646\u062f<\/td>\n<td data-nodeid=\"261\">\u0646\u0645\u0648\u062f\u0627\u0631\u0647\u0627 \u0631\u0627 \u0628\u0631 \u0627\u0633\u0627\u0633 \u062f\u06cc\u062f\u06af\u0627\u0647 (\u0645\u0641\u0647\u0648\u0645\u06cc\/\u062a\u0648\u0635\u06cc\u0641\u06cc\/\u067e\u06cc\u0627\u062f\u0647\u200c\u0633\u0627\u0632\u06cc) \u062c\u062f\u0627 \u06a9\u0646\u06cc\u062f<\/td>\n<\/tr>\n<tr data-nodeid=\"262\">\n<td data-nodeid=\"263\"><strong data-nodeid=\"559\">\u0646\u0627\u062f\u06cc\u062f\u0647 \u06af\u0631\u0641\u062a\u0646 \u06a9\u0646\u062a\u0631\u0644 \u0646\u0633\u062e\u0647<\/strong><\/td>\n<td data-nodeid=\"264\">\u0646\u0645\u0648\u062f\u0627\u0631\u0647\u0627 \u0628\u0647\u200c\u0631\u0648\u0632 \u0646\u0645\u06cc\u200c\u0645\u0627\u0646\u0646\u062f<\/td>\n<td data-nodeid=\"265\">\u0627\u0632 \u0641\u0627\u06cc\u0644\u200c\u0647\u0627\u06cc \u0645\u062a\u0646\u06cc PlantUML \u062f\u0631 Git \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u06cc\u062f\u061b \u062a\u0635\u0627\u0648\u06cc\u0631 \u0631\u0627 \u062f\u0631 \u0645\u0633\u06cc\u0631 CI\/CD \u062a\u0648\u0644\u06cc\u062f \u06a9\u0646\u06cc\u062f<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<hr data-nodeid=\"266\"\/>\n<h2 data-nodeid=\"267\"><strong data-nodeid=\"565\">\u067e\u06cc\u0634\u0646\u0647\u0627\u062f \u0627\u0628\u0632\u0627\u0631: \u0686\u0631\u0627 PlantUML\u061f<\/strong><\/h2>\n<p data-nodeid=\"268\">\u0628\u0631\u0627\u06cc \u0645\u0637\u0627\u0644\u0639\u0647 \u0645\u0648\u0631\u062f\u06cc \u0628\u0627\u0644\u0627\u060c<strong data-nodeid=\"595\">PlantUML<\/strong>\u0627\u0646\u062a\u062e\u0627\u0628 \u0634\u062f \u0632\u06cc\u0631\u0627:<br \/>\n\u2705\u00a0<strong data-nodeid=\"596\">\u0645\u0628\u062a\u0646\u06cc \u0628\u0631 \u0645\u062a\u0646<\/strong>: \u0646\u0645\u0648\u062f\u0627\u0631\u0647\u0627 \u06a9\u062f \u0647\u0633\u062a\u0646\u062f\u2014\u0642\u0627\u0628\u0644 \u06a9\u0646\u062a\u0631\u0644 \u0646\u0633\u062e\u0647\u060c \u0642\u0627\u0628\u0644 \u0645\u0642\u0627\u06cc\u0633\u0647 \u0648 \u0642\u0627\u0628\u0644 \u0628\u0631\u0631\u0633\u06cc<br \/>\n\u2705\u00a0<strong data-nodeid=\"597\">\u0642\u0627\u0628\u0644 \u0627\u0646\u062a\u0642\u0627\u0644<\/strong>: \u062f\u0631 \u0645\u062d\u0644 \u06cc\u0627 \u0627\u0632 \u0637\u0631\u06cc\u0642 \u0633\u0631\u0648\u06cc\u0633 \u0627\u0628\u0631\u06cc \u0631\u0646\u062f\u0631 \u0645\u06cc\u200c\u0634\u0648\u062f\u061b \u0628\u0627 Confluence\u060c GitHub \u0648 VS Code \u0627\u062f\u063a\u0627\u0645 \u0645\u06cc\u200c\u0634\u0648\u062f<br \/>\n\u2705\u00a0<strong data-nodeid=\"598\">\u0642\u0627\u0628\u0644 \u0646\u06af\u0647\u062f\u0627\u0631\u06cc<\/strong>: \u0645\u0646\u0637\u0642 \u0646\u0645\u0648\u062f\u0627\u0631 \u0631\u0627 \u0628\u062f\u0648\u0646 \u0631\u0633\u0645 \u0645\u062c\u062f\u062f \u062c\u0639\u0628\u0647\u200c\u0647\u0627 \u0628\u0647\u200c\u0631\u0648\u0632\u0631\u0633\u0627\u0646\u06cc \u06a9\u0646\u06cc\u062f<br \/>\n\u2705\u00a0<strong data-nodeid=\"599\">\u0647\u0645\u06a9\u0627\u0631\u06cc\u200c\u0645\u062d\u0648\u0631<\/strong>: \u0627\u0641\u0631\u0627\u062f \u063a\u06cc\u0631\u0637\u0631\u0627\u062d \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u0646\u062f \u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 \u0633\u06cc\u0646\u062a\u06a9\u0633 \u0633\u0627\u062f\u0647 \u0645\u0634\u0627\u0631\u06a9\u062a \u06a9\u0646\u0646\u062f<\/p>\n<p data-nodeid=\"269\"><strong data-nodeid=\"603\">\u0631\u0648\u0634 \u0646\u0645\u0648\u0646\u0647:<\/strong><\/p>\n<pre class=\"lang-bash\" data-nodeid=\"270\"><code data-language=\"bash\"># 1. \u0646\u0645\u0648\u062f\u0627\u0631 \u0631\u0627 \u0628\u0647 \u0635\u0648\u0631\u062a \u0645\u062a\u0646 \u0628\u0646\u0648\u06cc\u0633\u06cc\u062f\r\necho '@startumlnclass User { +name: String }n@enduml' &gt; UserDiagram.puml\r\n\r\n# 2. \u062a\u0635\u0648\u06cc\u0631 PNG\/SVG \u062a\u0648\u0644\u06cc\u062f \u06a9\u0646\u06cc\u062f\r\nplantuml -tpng UserDiagram.puml\r\n\r\n# 3. \u0647\u0631 \u062f\u0648 \u0641\u0627\u06cc\u0644 .puml \u0648 \u062a\u0635\u0648\u06cc\u0631 \u062a\u0648\u0644\u06cc\u062f \u0634\u062f\u0647 \u0631\u0627 \u062f\u0631 Git \u062b\u0628\u062a \u06a9\u0646\u06cc\u062f\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\">\u0646\u062a\u06cc\u062c\u0647\u200c\u06af\u06cc\u0631\u06cc<\/strong><\/h2>\n<p data-nodeid=\"273\">\u0646\u0645\u0648\u062f\u0627\u0631\u0647\u0627\u06cc \u06a9\u0644\u0627\u0633 \u0628\u0633\u06cc\u0627\u0631 \u0628\u06cc\u0634\u062a\u0631 \u0627\u0632 \u062a\u0645\u0631\u06cc\u0646\u0627\u062a \u062f\u0627\u0646\u0634\u06af\u0627\u0647\u06cc \u0647\u0633\u062a\u0646\u062f\u2014\u0622\u0646\u0647\u0627 \u0645\u0648\u062c\u0648\u062f\u06cc\u062a\u200c\u0647\u0627\u06cc \u0632\u0646\u062f\u0647\u200c\u0627\u06cc \u0647\u0633\u062a\u0646\u062f \u06a9\u0647 \u0647\u0645\u0627\u0647\u0646\u06af\u06cc \u0631\u0627 \u062a\u0642\u0648\u06cc\u062a \u0645\u06cc\u200c\u06a9\u0646\u0646\u062f\u060c \u0628\u062f\u0647\u06cc \u0641\u0646\u06cc \u0631\u0627 \u06a9\u0627\u0647\u0634 \u0645\u06cc\u200c\u062f\u0647\u0646\u062f \u0648 \u0641\u0631\u0622\u06cc\u0646\u062f \u0622\u0634\u0646\u0627 \u0634\u062f\u0646 \u0628\u0627 \u067e\u0631\u0648\u0698\u0647 \u0631\u0627 \u062f\u0631 \u0637\u0648\u0644 \u0686\u0631\u062e\u0647 \u0639\u0645\u0631 \u062a\u0648\u0633\u0639\u0647 \u0646\u0631\u0645\u200c\u0627\u0641\u0632\u0627\u0631 \u062a\u0633\u0631\u06cc\u0639 \u0645\u06cc\u200c\u06a9\u0646\u0646\u062f. \u0647\u0645\u0627\u0646\u200c\u0637\u0648\u0631 \u06a9\u0647 \u062f\u0631 \u0645\u0637\u0627\u0644\u0639\u0647 \u0645\u0648\u0631\u062f\u06cc \u062a\u062c\u0627\u0631\u062a \u0627\u0644\u06a9\u062a\u0631\u0648\u0646\u06cc\u06a9 \u0645\u0627 \u0646\u0634\u0627\u0646 \u062f\u0627\u062f\u0647 \u0634\u062f\u060c \u0642\u062f\u0631\u062a \u0648\u0627\u0642\u0639\u06cc \u0646\u0645\u0648\u062f\u0627\u0631\u0647\u0627\u06cc \u06a9\u0644\u0627\u0633 \u0632\u0645\u0627\u0646\u06cc \u0628\u0631\u0648\u0632 \u0645\u06cc\u200c\u06a9\u0646\u062f \u06a9\u0647 \u0627\u0632 \u0633\u0647 \u062f\u06cc\u062f\u06af\u0627\u0647 \u06a9\u0644\u06cc\u062f\u06cc \u062a\u06a9\u0627\u0645\u0644 \u06cc\u0627\u0628\u0646\u062f:<\/p>\n<p data-nodeid=\"274\">\ud83d\udd39\u00a0<strong data-nodeid=\"626\">\u0645\u0641\u0647\u0648\u0645\u06cc<\/strong>: \u0645\u0634\u0627\u0631\u06a9\u062a\u200c\u06a9\u0646\u0646\u062f\u06af\u0627\u0646 \u0631\u0627 \u062f\u0631 \u062f\u0631\u06a9 \u0645\u0634\u062a\u0631\u06a9 \u0627\u0632 \u062d\u0648\u0632\u0647 \u0645\u0631\u0628\u0648\u0637\u0647 \u0631\u06cc\u0634\u0647\u200c\u062f\u0627\u0631 \u06a9\u0646\u06cc\u062f<br \/>\n\ud83d\udd39\u00a0<strong data-nodeid=\"627\">\u0645\u0634\u062e\u0635\u0627\u062a<\/strong>: \u0631\u0627\u0628\u0637\u200c\u0647\u0627\u06cc \u062a\u0645\u06cc\u0632\u06cc \u0628\u0631\u0627\u06cc \u0645\u0639\u0645\u0627\u0631\u06cc \u0645\u0627\u0698\u0648\u0644\u0627\u0631 \u062a\u0639\u0631\u06cc\u0641 \u06a9\u0646\u06cc\u062f<br \/>\n\ud83d\udd39\u00a0<strong data-nodeid=\"628\">\u067e\u06cc\u0627\u062f\u0647\u200c\u0633\u0627\u0632\u06cc<\/strong>: \u0628\u0627 \u0646\u0642\u0634\u0647\u200c\u0647\u0627\u06cc \u062f\u0642\u06cc\u0642 \u0648 \u0622\u06af\u0627\u0647\u0627\u0646\u0647 \u0627\u0632 \u0641\u0646\u0627\u0648\u0631\u06cc\u060c \u062a\u0648\u0633\u0639\u0647\u200c\u062f\u0647\u0646\u062f\u06af\u0627\u0646 \u0631\u0627 \u0631\u0627\u0647\u0646\u0645\u0627\u06cc\u06cc \u06a9\u0646\u06cc\u062f<\/p>\n<p data-nodeid=\"275\">\u0628\u0627 \u067e\u0630\u06cc\u0631\u0634\u00a0<strong data-nodeid=\"638\">PlantUML<\/strong>\u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 PlantUML \u0628\u0631\u0627\u06cc \u0631\u0648\u0634\u200c\u0647\u0627\u06cc \u0646\u0645\u0648\u062f\u0627\u0631 \u0628\u0647 \u0639\u0646\u0648\u0627\u0646 \u06a9\u062f\u060c \u062a\u06cc\u0645\u200c\u0647\u0627 \u0627\u0646\u0639\u0637\u0627\u0641\u200c\u067e\u0630\u06cc\u0631\u06cc \u067e\u06cc\u062f\u0627 \u0645\u06cc\u200c\u06a9\u0646\u0646\u062f \u062a\u0627 \u0637\u0631\u062d\u200c\u0647\u0627 \u0631\u0627 \u0647\u0645\u200c\u0632\u0645\u0627\u0646 \u0628\u0627 \u06a9\u062f \u0628\u0627\u0632\u0637\u0631\u0627\u062d\u06cc \u06a9\u0646\u0646\u062f \u0648 \u0627\u0637\u0645\u06cc\u0646\u0627\u0646 \u062d\u0627\u0635\u0644 \u06a9\u0646\u0646\u062f \u06a9\u0647 \u0645\u0633\u062a\u0646\u062f\u0627\u062a \u0647\u0631\u06af\u0632 \u0627\u0632 \u067e\u06cc\u0627\u062f\u0647\u200c\u0633\u0627\u0632\u06cc \u0639\u0642\u0628 \u0646\u0645\u0627\u0646\u062f. \u0628\u0647 \u06cc\u0627\u062f \u062f\u0627\u0634\u062a\u0647 \u0628\u0627\u0634\u06cc\u062f: \u0628\u0647\u062a\u0631\u06cc\u0646 \u0646\u0645\u0648\u062f\u0627\u0631 \u06a9\u0644\u0627\u0633\u060c \u062c\u0632\u0626\u06cc\u0627\u062a \u0628\u06cc\u0634\u062a\u0631\u06cc\u0646 \u0646\u06cc\u0633\u062a\u2014\u0628\u0644\u06a9\u0647 \u0622\u0646 \u0627\u0633\u062a \u06a9\u0647 \u062f\u0631 \u0632\u0645\u0627\u0646 \u0645\u0646\u0627\u0633\u0628\u060c \u0628\u0647 \u0633\u0624\u0627\u0644\u0627\u062a \u062f\u0631\u0633\u062a \u0628\u0631\u0627\u06cc \u0645\u062e\u0627\u0637\u0628 \u067e\u0627\u0633\u062e \u062f\u0647\u062f.<\/p>\n<p data-nodeid=\"276\"><strong data-nodeid=\"643\">\u0646\u062a\u06cc\u062c\u0647 \u0646\u0647\u0627\u06cc\u06cc<\/strong>: \u0633\u0627\u062f\u0647 \u0634\u0631\u0648\u0639 \u06a9\u0646\u06cc\u062f\u060c \u0628\u0627 \u0645\u0634\u0627\u0631\u06a9\u062a\u200c\u06a9\u0646\u0646\u062f\u06af\u0627\u0646 \u062a\u0623\u06cc\u06cc\u062f \u06a9\u0646\u06cc\u062f\u060c \u0628\u0647 \u0635\u0648\u0631\u062a \u062a\u062f\u0631\u06cc\u062c\u06cc \u0628\u0647\u0628\u0648\u062f \u0628\u062e\u0634\u06cc\u062f \u0648 \u0647\u0645\u06cc\u0634\u0647 \u0639\u0646\u0627\u0635\u0631 \u0646\u0645\u0648\u062f\u0627\u0631 \u0631\u0627 \u0628\u0647 \u0627\u0631\u0632\u0634 \u0639\u0645\u0644\u06cc \u06a9\u0633\u0628\u200c\u0648\u06a9\u0627\u0631 \u0628\u0627\u0632\u06af\u0631\u062f\u0627\u0646\u06cc\u062f. \u0647\u0646\u06af\u0627\u0645\u06cc \u06a9\u0647 \u0646\u0645\u0648\u062f\u0627\u0631\u0647\u0627\u06cc \u06a9\u0644\u0627\u0633 \u0628\u0647 \u0627\u0628\u0632\u0627\u0631\u0647\u0627\u06cc \u0647\u0645\u06a9\u0627\u0631\u06cc \u062a\u0628\u062f\u06cc\u0644 \u0634\u0648\u0646\u062f \u0646\u0647 \u0628\u0647 \u0645\u062d\u0635\u0648\u0644\u0627\u062a \u062a\u062d\u0648\u06cc\u0644\u06cc\u060c \u0627\u0632 \u0628\u0627\u0631 \u0627\u0636\u0627\u0641\u06cc \u0628\u0647 \u0645\u062d\u0631\u06a9\u200c\u0647\u0627\u06cc\u06cc \u0628\u0631\u0627\u06cc \u0646\u0631\u0645\u200c\u0627\u0641\u0632\u0627\u0631 \u0628\u0647\u062a\u0631 \u062a\u0628\u062f\u06cc\u0644 \u0645\u06cc\u200c\u0634\u0648\u0646\u062f.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u0645\u0642\u062f\u0645\u0647 \u062f\u0631 \u0645\u062d\u06cc\u0637 \u067e\u06cc\u0686\u06cc\u062f\u0647 \u062a\u0648\u0633\u0639\u0647 \u0646\u0631\u0645\u200c\u0627\u0641\u0632\u0627\u0631 \u0627\u0645\u0631\u0648\u0632\u060c \u0627\u0631\u062a\u0628\u0627\u0637 \u0648\u0627\u0636\u062d \u0648 \u0645\u062f\u0644\u200c\u0633\u0627\u0632\u06cc \u062f\u0642\u06cc\u0642 \u0633\u06cc\u0633\u062a\u0645 \u0628\u0647\u200c\u0639\u0646\u0648\u0627\u0646 \u0639\u0627\u0645\u0644\u06cc \u06a9\u0644\u06cc\u062f\u06cc \u062f\u0631 \u0645\u0648\u0641\u0642\u06cc\u062a \u067e\u0631\u0648\u0698\u0647\u200c\u0647\u0627 \u0645\u0637\u0631\u062d \u0645\u06cc\u200c\u0634\u0648\u062f. \u0627\u0632 \u062c\u0645\u0644\u0647 \u0642\u0648\u06cc\u200c\u062a\u0631\u06cc\u0646 \u0627\u0628\u0632\u0627\u0631\u0647\u0627\u06cc \u0645\u0648\u062c\u0648\u062f \u062f\u0631 \u0627\u0628\u0632\u0627\u0631\u0647\u0627\u06cc \u06cc\u06a9 \u0645\u0647\u0646\u062f\u0633 \u0646\u0631\u0645\u200c\u0627\u0641\u0632\u0627\u0631\u060c \u0645\u06cc\u200c\u062a\u0648\u0627\u0646 \u0628\u0647\u00a0\u0646\u0645\u0648\u062f\u0627\u0631 \u06a9\u0644\u0627\u0633 UML\u2014\u0632\u0628\u0627\u0646 \u0628\u0635\u0631\u06cc \u06a9\u0647 \u0641\u0627\u0635\u0644\u0647 \u0628\u06cc\u0646 \u0646\u06cc\u0627\u0632\u0647\u0627\u06cc \u0645\u0641\u0647\u0648\u0645\u06cc \u0648 \u067e\u06cc\u0627\u062f\u0647\u200c\u0633\u0627\u0632\u06cc \u0639\u0645\u0644\u06cc \u0631\u0627 \u067e\u0631 \u0645\u06cc\u200c\u06a9\u0646\u062f. \u0627\u06cc\u0646 \u0645\u0637\u0627\u0644\u0639\u0647 \u0645\u0648\u0631\u062f\u06cc \u0628\u0647 \u0628\u0631\u0631\u0633\u06cc \u0627\u06cc\u0646 \u0645\u0648\u0636\u0648\u0639 \u0645\u06cc\u200c\u067e\u0631\u062f\u0627\u0632\u062f [&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":[65,36],"tags":[],"class_list":["post-12205","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>\u062a\u0633\u0644\u0637 \u0628\u0631 \u0646\u0645\u0648\u062f\u0627\u0631\u0647\u0627\u06cc \u06a9\u0644\u0627\u0633 UML: \u06cc\u06a9 \u0645\u0637\u0627\u0644\u0639\u0647 \u0645\u0648\u0631\u062f\u06cc \u0639\u0645\u0644\u06cc \u062f\u0631 \u0637\u0631\u0627\u062d\u06cc \u0633\u06cc\u0633\u062a\u0645 \u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 PlantUML - Visual Paradigm \u0648\u0628\u0644\u0627\u06af<\/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\/fa\/mastering-uml-class-diagrams-a-practical-case-study-in-system-design-with-plantuml\/\" \/>\n<meta property=\"og:locale\" content=\"fa_IR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"\u062a\u0633\u0644\u0637 \u0628\u0631 \u0646\u0645\u0648\u062f\u0627\u0631\u0647\u0627\u06cc \u06a9\u0644\u0627\u0633 UML: \u06cc\u06a9 \u0645\u0637\u0627\u0644\u0639\u0647 \u0645\u0648\u0631\u062f\u06cc \u0639\u0645\u0644\u06cc \u062f\u0631 \u0637\u0631\u0627\u062d\u06cc \u0633\u06cc\u0633\u062a\u0645 \u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 PlantUML - Visual Paradigm \u0648\u0628\u0644\u0627\u06af\" \/>\n<meta property=\"og:description\" content=\"\u0645\u0642\u062f\u0645\u0647 \u062f\u0631 \u0645\u062d\u06cc\u0637 \u067e\u06cc\u0686\u06cc\u062f\u0647 \u062a\u0648\u0633\u0639\u0647 \u0646\u0631\u0645\u200c\u0627\u0641\u0632\u0627\u0631 \u0627\u0645\u0631\u0648\u0632\u060c \u0627\u0631\u062a\u0628\u0627\u0637 \u0648\u0627\u0636\u062d \u0648 \u0645\u062f\u0644\u200c\u0633\u0627\u0632\u06cc \u062f\u0642\u06cc\u0642 \u0633\u06cc\u0633\u062a\u0645 \u0628\u0647\u200c\u0639\u0646\u0648\u0627\u0646 \u0639\u0627\u0645\u0644\u06cc \u06a9\u0644\u06cc\u062f\u06cc \u062f\u0631 \u0645\u0648\u0641\u0642\u06cc\u062a \u067e\u0631\u0648\u0698\u0647\u200c\u0647\u0627 \u0645\u0637\u0631\u062d \u0645\u06cc\u200c\u0634\u0648\u062f. \u0627\u0632 \u062c\u0645\u0644\u0647 \u0642\u0648\u06cc\u200c\u062a\u0631\u06cc\u0646 \u0627\u0628\u0632\u0627\u0631\u0647\u0627\u06cc \u0645\u0648\u062c\u0648\u062f \u062f\u0631 \u0627\u0628\u0632\u0627\u0631\u0647\u0627\u06cc \u06cc\u06a9 \u0645\u0647\u0646\u062f\u0633 \u0646\u0631\u0645\u200c\u0627\u0641\u0632\u0627\u0631\u060c \u0645\u06cc\u200c\u062a\u0648\u0627\u0646 \u0628\u0647\u00a0\u0646\u0645\u0648\u062f\u0627\u0631 \u06a9\u0644\u0627\u0633 UML\u2014\u0632\u0628\u0627\u0646 \u0628\u0635\u0631\u06cc \u06a9\u0647 \u0641\u0627\u0635\u0644\u0647 \u0628\u06cc\u0646 \u0646\u06cc\u0627\u0632\u0647\u0627\u06cc \u0645\u0641\u0647\u0648\u0645\u06cc \u0648 \u067e\u06cc\u0627\u062f\u0647\u200c\u0633\u0627\u0632\u06cc \u0639\u0645\u0644\u06cc \u0631\u0627 \u067e\u0631 \u0645\u06cc\u200c\u06a9\u0646\u062f. \u0627\u06cc\u0646 \u0645\u0637\u0627\u0644\u0639\u0647 \u0645\u0648\u0631\u062f\u06cc \u0628\u0647 \u0628\u0631\u0631\u0633\u06cc \u0627\u06cc\u0646 \u0645\u0648\u0636\u0648\u0639 \u0645\u06cc\u200c\u067e\u0631\u062f\u0627\u0632\u062f [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/blog.visual-paradigm.com\/fa\/mastering-uml-class-diagrams-a-practical-case-study-in-system-design-with-plantuml\/\" \/>\n<meta property=\"og:site_name\" content=\"Visual Paradigm \u0648\u0628\u0644\u0627\u06af\" \/>\n<meta property=\"article:published_time\" content=\"2026-05-21T07:55:49+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-05-30T08:06:48+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=\"\u0646\u0648\u0634\u062a\u0647\u200c\u0634\u062f\u0647 \u0628\u062f\u0633\u062a\" \/>\n\t<meta name=\"twitter:data1\" content=\"Admin\" \/>\n\t<meta name=\"twitter:label2\" content=\"\u0632\u0645\u0627\u0646 \u062a\u0642\u0631\u06cc\u0628\u06cc \u0628\u0631\u0627\u06cc \u062e\u0648\u0627\u0646\u062f\u0646\" \/>\n\t<meta name=\"twitter:data2\" content=\"5 \u062f\u0642\u06cc\u0642\u0647\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/blog.visual-paradigm.com\/fa\/mastering-uml-class-diagrams-a-practical-case-study-in-system-design-with-plantuml\/\",\"url\":\"https:\/\/blog.visual-paradigm.com\/fa\/mastering-uml-class-diagrams-a-practical-case-study-in-system-design-with-plantuml\/\",\"name\":\"\u062a\u0633\u0644\u0637 \u0628\u0631 \u0646\u0645\u0648\u062f\u0627\u0631\u0647\u0627\u06cc \u06a9\u0644\u0627\u0633 UML: \u06cc\u06a9 \u0645\u0637\u0627\u0644\u0639\u0647 \u0645\u0648\u0631\u062f\u06cc \u0639\u0645\u0644\u06cc \u062f\u0631 \u0637\u0631\u0627\u062d\u06cc \u0633\u06cc\u0633\u062a\u0645 \u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 PlantUML - Visual Paradigm \u0648\u0628\u0644\u0627\u06af\",\"isPartOf\":{\"@id\":\"https:\/\/blog.visual-paradigm.com\/fa\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/blog.visual-paradigm.com\/fa\/mastering-uml-class-diagrams-a-practical-case-study-in-system-design-with-plantuml\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/blog.visual-paradigm.com\/fa\/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:06:48+00:00\",\"author\":{\"@id\":\"https:\/\/blog.visual-paradigm.com\/fa\/#\/schema\/person\/a649c442f11a53040710ddec750926c6\"},\"breadcrumb\":{\"@id\":\"https:\/\/blog.visual-paradigm.com\/fa\/mastering-uml-class-diagrams-a-practical-case-study-in-system-design-with-plantuml\/#breadcrumb\"},\"inLanguage\":\"fa-IR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/blog.visual-paradigm.com\/fa\/mastering-uml-class-diagrams-a-practical-case-study-in-system-design-with-plantuml\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"fa-IR\",\"@id\":\"https:\/\/blog.visual-paradigm.com\/fa\/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\/fa\/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\/fa\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"\u062a\u0633\u0644\u0637 \u0628\u0631 \u0646\u0645\u0648\u062f\u0627\u0631\u0647\u0627\u06cc \u06a9\u0644\u0627\u0633 UML: \u06cc\u06a9 \u0645\u0637\u0627\u0644\u0639\u0647 \u0645\u0648\u0631\u062f\u06cc \u0639\u0645\u0644\u06cc \u062f\u0631 \u0637\u0631\u0627\u062d\u06cc \u0633\u06cc\u0633\u062a\u0645 \u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 PlantUML\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/blog.visual-paradigm.com\/fa\/#website\",\"url\":\"https:\/\/blog.visual-paradigm.com\/fa\/\",\"name\":\"Visual Paradigm \u0648\u0628\u0644\u0627\u06af\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/blog.visual-paradigm.com\/fa\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"fa-IR\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/blog.visual-paradigm.com\/fa\/#\/schema\/person\/a649c442f11a53040710ddec750926c6\",\"name\":\"Admin\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"fa-IR\",\"@id\":\"https:\/\/blog.visual-paradigm.com\/fa\/#\/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\/fa\/author\/vpadminuser\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"\u062a\u0633\u0644\u0637 \u0628\u0631 \u0646\u0645\u0648\u062f\u0627\u0631\u0647\u0627\u06cc \u06a9\u0644\u0627\u0633 UML: \u06cc\u06a9 \u0645\u0637\u0627\u0644\u0639\u0647 \u0645\u0648\u0631\u062f\u06cc \u0639\u0645\u0644\u06cc \u062f\u0631 \u0637\u0631\u0627\u062d\u06cc \u0633\u06cc\u0633\u062a\u0645 \u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 PlantUML - Visual Paradigm \u0648\u0628\u0644\u0627\u06af","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\/fa\/mastering-uml-class-diagrams-a-practical-case-study-in-system-design-with-plantuml\/","og_locale":"fa_IR","og_type":"article","og_title":"\u062a\u0633\u0644\u0637 \u0628\u0631 \u0646\u0645\u0648\u062f\u0627\u0631\u0647\u0627\u06cc \u06a9\u0644\u0627\u0633 UML: \u06cc\u06a9 \u0645\u0637\u0627\u0644\u0639\u0647 \u0645\u0648\u0631\u062f\u06cc \u0639\u0645\u0644\u06cc \u062f\u0631 \u0637\u0631\u0627\u062d\u06cc \u0633\u06cc\u0633\u062a\u0645 \u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 PlantUML - Visual Paradigm \u0648\u0628\u0644\u0627\u06af","og_description":"\u0645\u0642\u062f\u0645\u0647 \u062f\u0631 \u0645\u062d\u06cc\u0637 \u067e\u06cc\u0686\u06cc\u062f\u0647 \u062a\u0648\u0633\u0639\u0647 \u0646\u0631\u0645\u200c\u0627\u0641\u0632\u0627\u0631 \u0627\u0645\u0631\u0648\u0632\u060c \u0627\u0631\u062a\u0628\u0627\u0637 \u0648\u0627\u0636\u062d \u0648 \u0645\u062f\u0644\u200c\u0633\u0627\u0632\u06cc \u062f\u0642\u06cc\u0642 \u0633\u06cc\u0633\u062a\u0645 \u0628\u0647\u200c\u0639\u0646\u0648\u0627\u0646 \u0639\u0627\u0645\u0644\u06cc \u06a9\u0644\u06cc\u062f\u06cc \u062f\u0631 \u0645\u0648\u0641\u0642\u06cc\u062a \u067e\u0631\u0648\u0698\u0647\u200c\u0647\u0627 \u0645\u0637\u0631\u062d \u0645\u06cc\u200c\u0634\u0648\u062f. \u0627\u0632 \u062c\u0645\u0644\u0647 \u0642\u0648\u06cc\u200c\u062a\u0631\u06cc\u0646 \u0627\u0628\u0632\u0627\u0631\u0647\u0627\u06cc \u0645\u0648\u062c\u0648\u062f \u062f\u0631 \u0627\u0628\u0632\u0627\u0631\u0647\u0627\u06cc \u06cc\u06a9 \u0645\u0647\u0646\u062f\u0633 \u0646\u0631\u0645\u200c\u0627\u0641\u0632\u0627\u0631\u060c \u0645\u06cc\u200c\u062a\u0648\u0627\u0646 \u0628\u0647\u00a0\u0646\u0645\u0648\u062f\u0627\u0631 \u06a9\u0644\u0627\u0633 UML\u2014\u0632\u0628\u0627\u0646 \u0628\u0635\u0631\u06cc \u06a9\u0647 \u0641\u0627\u0635\u0644\u0647 \u0628\u06cc\u0646 \u0646\u06cc\u0627\u0632\u0647\u0627\u06cc \u0645\u0641\u0647\u0648\u0645\u06cc \u0648 \u067e\u06cc\u0627\u062f\u0647\u200c\u0633\u0627\u0632\u06cc \u0639\u0645\u0644\u06cc \u0631\u0627 \u067e\u0631 \u0645\u06cc\u200c\u06a9\u0646\u062f. \u0627\u06cc\u0646 \u0645\u0637\u0627\u0644\u0639\u0647 \u0645\u0648\u0631\u062f\u06cc \u0628\u0647 \u0628\u0631\u0631\u0633\u06cc \u0627\u06cc\u0646 \u0645\u0648\u0636\u0648\u0639 \u0645\u06cc\u200c\u067e\u0631\u062f\u0627\u0632\u062f [&hellip;]","og_url":"https:\/\/blog.visual-paradigm.com\/fa\/mastering-uml-class-diagrams-a-practical-case-study-in-system-design-with-plantuml\/","og_site_name":"Visual Paradigm \u0648\u0628\u0644\u0627\u06af","article_published_time":"2026-05-21T07:55:49+00:00","article_modified_time":"2026-05-30T08:06:48+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":{"\u0646\u0648\u0634\u062a\u0647\u200c\u0634\u062f\u0647 \u0628\u062f\u0633\u062a":"Admin","\u0632\u0645\u0627\u0646 \u062a\u0642\u0631\u06cc\u0628\u06cc \u0628\u0631\u0627\u06cc \u062e\u0648\u0627\u0646\u062f\u0646":"5 \u062f\u0642\u06cc\u0642\u0647"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/blog.visual-paradigm.com\/fa\/mastering-uml-class-diagrams-a-practical-case-study-in-system-design-with-plantuml\/","url":"https:\/\/blog.visual-paradigm.com\/fa\/mastering-uml-class-diagrams-a-practical-case-study-in-system-design-with-plantuml\/","name":"\u062a\u0633\u0644\u0637 \u0628\u0631 \u0646\u0645\u0648\u062f\u0627\u0631\u0647\u0627\u06cc \u06a9\u0644\u0627\u0633 UML: \u06cc\u06a9 \u0645\u0637\u0627\u0644\u0639\u0647 \u0645\u0648\u0631\u062f\u06cc \u0639\u0645\u0644\u06cc \u062f\u0631 \u0637\u0631\u0627\u062d\u06cc \u0633\u06cc\u0633\u062a\u0645 \u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 PlantUML - Visual Paradigm \u0648\u0628\u0644\u0627\u06af","isPartOf":{"@id":"https:\/\/blog.visual-paradigm.com\/fa\/#website"},"primaryImageOfPage":{"@id":"https:\/\/blog.visual-paradigm.com\/fa\/mastering-uml-class-diagrams-a-practical-case-study-in-system-design-with-plantuml\/#primaryimage"},"image":{"@id":"https:\/\/blog.visual-paradigm.com\/fa\/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:06:48+00:00","author":{"@id":"https:\/\/blog.visual-paradigm.com\/fa\/#\/schema\/person\/a649c442f11a53040710ddec750926c6"},"breadcrumb":{"@id":"https:\/\/blog.visual-paradigm.com\/fa\/mastering-uml-class-diagrams-a-practical-case-study-in-system-design-with-plantuml\/#breadcrumb"},"inLanguage":"fa-IR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/blog.visual-paradigm.com\/fa\/mastering-uml-class-diagrams-a-practical-case-study-in-system-design-with-plantuml\/"]}]},{"@type":"ImageObject","inLanguage":"fa-IR","@id":"https:\/\/blog.visual-paradigm.com\/fa\/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\/fa\/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\/fa\/"},{"@type":"ListItem","position":2,"name":"\u062a\u0633\u0644\u0637 \u0628\u0631 \u0646\u0645\u0648\u062f\u0627\u0631\u0647\u0627\u06cc \u06a9\u0644\u0627\u0633 UML: \u06cc\u06a9 \u0645\u0637\u0627\u0644\u0639\u0647 \u0645\u0648\u0631\u062f\u06cc \u0639\u0645\u0644\u06cc \u062f\u0631 \u0637\u0631\u0627\u062d\u06cc \u0633\u06cc\u0633\u062a\u0645 \u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 PlantUML"}]},{"@type":"WebSite","@id":"https:\/\/blog.visual-paradigm.com\/fa\/#website","url":"https:\/\/blog.visual-paradigm.com\/fa\/","name":"Visual Paradigm \u0648\u0628\u0644\u0627\u06af","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/blog.visual-paradigm.com\/fa\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"fa-IR"},{"@type":"Person","@id":"https:\/\/blog.visual-paradigm.com\/fa\/#\/schema\/person\/a649c442f11a53040710ddec750926c6","name":"Admin","image":{"@type":"ImageObject","inLanguage":"fa-IR","@id":"https:\/\/blog.visual-paradigm.com\/fa\/#\/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\/fa\/author\/vpadminuser\/"}]}},"modified_by":"Admin","_links":{"self":[{"href":"https:\/\/blog.visual-paradigm.com\/fa\/wp-json\/wp\/v2\/posts\/12205","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.visual-paradigm.com\/fa\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.visual-paradigm.com\/fa\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.visual-paradigm.com\/fa\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.visual-paradigm.com\/fa\/wp-json\/wp\/v2\/comments?post=12205"}],"version-history":[{"count":0,"href":"https:\/\/blog.visual-paradigm.com\/fa\/wp-json\/wp\/v2\/posts\/12205\/revisions"}],"wp:attachment":[{"href":"https:\/\/blog.visual-paradigm.com\/fa\/wp-json\/wp\/v2\/media?parent=12205"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.visual-paradigm.com\/fa\/wp-json\/wp\/v2\/categories?post=12205"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.visual-paradigm.com\/fa\/wp-json\/wp\/v2\/tags?post=12205"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}