{"id":11651,"date":"2026-05-22T17:42:53","date_gmt":"2026-05-22T09:42:53","guid":{"rendered":"https:\/\/blog.visual-paradigm.com\/pl\/architecting-with-clarity-a-comprehensive-case-study-on-uml-building-blocks\/"},"modified":"2026-05-30T14:06:18","modified_gmt":"2026-05-30T06:06:18","slug":"architecting-with-clarity-a-comprehensive-case-study-on-uml-building-blocks","status":"publish","type":"post","link":"https:\/\/blog.visual-paradigm.com\/pl\/architecting-with-clarity-a-comprehensive-case-study-on-uml-building-blocks\/","title":{"rendered":"Architektura z jasno\u015bci\u0105: Kompleksowa studium przypadku dotycz\u0105ca element\u00f3w buduj\u0105cych UML"},"content":{"rendered":"<h2 data-nodeid=\"10018\">Wprowadzenie<\/h2>\n<p data-nodeid=\"10019\">Nowoczesne systemy oprogramowania s\u0105 z natury skomplikowane, z\u0142o\u017cone z setek wzajemnie wsp\u00f3\u0142pracuj\u0105cych komponent\u00f3w, proces\u00f3w wsp\u00f3\u0142bie\u017cnych i z\u0142o\u017conych przep\u0142yw\u00f3w danych. Most mi\u0119dzy abstrakcyjnymi wymaganiami biznesowymi a konkretn\u0105 implementacj\u0105 techniczn\u0105 wymaga standardowego, jednoznacznego \u015brodka komunikacji. J\u0119zyk Modelowania Unifikowanego (UML) pe\u0142ni rol\u0119 tego uniwersalnego projektu, zapewniaj\u0105c wizualny s\u0142ownictwo, kt\u00f3re mog\u0105 dzieli\u0107 si\u0119 programi\u015bci, architekci i stakeholderzy na r\u00f3\u017cnych dziedzinach.<\/p>\n<p data-nodeid=\"10020\">Cho\u0107 wiedza teoretyczna dotycz\u0105ca sk\u0142adni UML jest warto\u015bciowa, prawdziwa bieg\u0142o\u015b\u0107 pojawia si\u0119, gdy te koncepcje s\u0105 stosowane w sp\u00f3jnym, rzeczywistym scenariuszu. To studium przypadku pokazuje, jak trzy podstawowe elementy buduj\u0105ce UML\u2014<strong data-nodeid=\"10132\">Rzeczy<\/strong>,\u00a0<strong data-nodeid=\"10133\">Zwi\u0105zki<\/strong>, oraz\u00a0<strong data-nodeid=\"10134\">Diagramy<\/strong>\u2014wzajemnie si\u0119 \u0142\u0105cz\u0105, aby modelowa\u0107 kompletn\u0105 architektur\u0119 oprogramowania. Przyk\u0142adaj\u0105c ka\u017cdy element UML do projektowania nowoczesnej platformy e-commerce, przekszta\u0142cimy abstrakcyjne zasady modelowania w dzia\u0142aj\u0105ce, gotowe do wdro\u017cenia wersje wizualne.<\/p>\n<p id=\"KqYoeiX\"><img alt=\"\" class=\"alignnone size-full wp-image-24786\" decoding=\"async\" height=\"648\" loading=\"lazy\" sizes=\"auto, (max-width: 1187px) 100vw, 1187px\" src=\"https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/05\/img_6a10246416fac.png\" srcset=\"https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/05\/img_6a10246416fac.png 1187w, https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/05\/img_6a10246416fac-300x164.png 300w, https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/05\/img_6a10246416fac-1030x562.png 1030w, https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/05\/img_6a10246416fac-768x419.png 768w, https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/05\/img_6a10246416fac-150x82.png 150w, https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/05\/img_6a10246416fac-400x218.png 400w\" width=\"1187\"\/><\/p>\n<hr data-nodeid=\"10021\"\/>\n<h2 data-nodeid=\"10022\">Zakres studium przypadku: Platforma e-commerce \u201eShopSphere\u201d<\/h2>\n<p data-nodeid=\"10023\"><strong data-nodeid=\"10144\">ShopSphere<\/strong>\u00a0to skalowalna, oparta na chmurze platforma internetowa \u0142\u0105cz\u0105ca kupuj\u0105cych, sprzedawc\u00f3w zewn\u0119trznych oraz personel administracyjny. System musi obs\u0142ugiwa\u0107 uwierzytelnianie u\u017cytkownik\u00f3w, zarz\u0105dzanie katalogiem produkt\u00f3w, operacje w koszyku zakupowym, bezpieczne przetwarzanie p\u0142atno\u015bci, realizacj\u0119 zam\u00f3wie\u0144 oraz \u015bledzenie zapas\u00f3w w czasie rzeczywistym. Aby zapewni\u0107 \u0142atwo\u015b\u0107 utrzymania i jasn\u0105 komunikacj\u0119 mi\u0119dzy zespo\u0142ami, zesp\u00f3\u0142 architekt\u00f3w przyj\u0105\u0142 UML jako g\u0142\u00f3wny standard modelowania.<\/p>\n<hr data-nodeid=\"10024\"\/>\n<h2 data-nodeid=\"10025\">Cz\u0119\u015b\u0107 1: Modelowanie za pomoc\u0105 element\u00f3w UML \u201eRzeczy\u201d<\/h2>\n<p data-nodeid=\"10026\">Rzeczy s\u0105 pierwszorz\u0119dnymi obiektami w ka\u017cdym modelu UML. Odpowiadaj\u0105 one na sta\u0142e istniej\u0105ce rzeczowniki, dynamiczne czasowniki, kontenery organizacyjne oraz obja\u015bniaj\u0105ce komentarze, kt\u00f3re tworz\u0105 fundament architektury ShopSphere.<\/p>\n<h3 data-nodeid=\"10027\">1. Elementy strukturalne (sta\u0142e rzeczowniki)<\/h3>\n<p data-nodeid=\"10028\">Elementy strukturalne definiuj\u0105 elementy fizyczne i koncepcyjne, kt\u00f3re utrzymuj\u0105 si\u0119 w systemie.<\/p>\n<p id=\"rpzTJSu\"><img alt=\"\" class=\"alignnone size-full wp-image-24787\" decoding=\"async\" height=\"376\" loading=\"lazy\" sizes=\"auto, (max-width: 722px) 100vw, 722px\" src=\"https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/05\/img_6a10250aea4d6.png\" srcset=\"https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/05\/img_6a10250aea4d6.png 722w, https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/05\/img_6a10250aea4d6-300x156.png 300w, https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/05\/img_6a10250aea4d6-150x78.png 150w, https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/05\/img_6a10250aea4d6-400x208.png 400w\" width=\"722\"\/><\/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:JL7DQW8n4Bulx3iCNggqJo0Y5f7YeLHOYqSPar63IKOcYJyjVVVEhbfwcnc-V7-Pf8oII_1rzGIpY1jF2OAxkBW3teBnc1Ab5oY9m60tOhHWE1mvKiofhj1xFj-Uj2HDbc9o4VImtEijmUo2uUYfhZesc9QKEP30Trq1F2k-5QE0ply_H0pKxK8xbp99Vr1NFtNbeivRD0Jp1Lw3UdZ3J6Uytlcmv3sB-w8-1Yun3y5oqLY38MoOFM7iO0QFQfBwMJ0cDDbndDiXtCGLUs9dExsRwG-n90jXGoafOCLos6fi61ds7ZSis3ACwqgBQdk2tdHFvi0bzm0JV4xNZ_t1E8ydzSvoRQxHD2Gdfv56hPCJZUzPfCI5yglWSY-4jgr0p-LeDNAJsHpkfVpz1zmxUMTRsieZMuAfvs9R2PBrwwgfgmb5gt_-2m00\" 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>Edytuj PlantUML w 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:JLBDIWCn4Bulx3iCNgpe4nGHfGVfGIoiqgDCaz66JJBB96dTYXV19_BgJVjUplO7l6M6BzzVSfqoIYx1rzKfpBSVlvzcWn0SfGr6Hz1wJ1VGoQRlqBO_Nsies-_UE0G7BOUE8yMiwxf2xtaTtAkBBmFNJA-qsm-qG9x27WGfIsbp4VInDykwCigUO59Iva02RtK5SDvaKGwWWCx_NqGCj9k5NbpA9AEpkdglAnVr_8o6O3h3Vf2wnKnhx0zyMFAInMreX85Bp6EmN1QUpiQmOFQ4SGSpsAap6cN1cD1ant5gnx0NL-oAdTtfxKtVYoMP2HjAIG5pblPP2u1BmzxZWWK7XgkwAeaC9eAJoP9CooMV02Pud3mTvoFZDAxKEqlVzD4q92kdaIu79okwEcIH4cVAhu8FIo6qGmMwBftLo4rcqnvACSUtWKCdTsoBr_uYMuA9vs872PAdctbJLzSKhNw2Fm00\" \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\"><code class=\"language-plantuml\" data-language=\"plantuml\" class=\"language-plantuml\">@startuml\r\n' W\u0142\u0105cza mieszanie klas, przypadk\u00f3w u\u017cycia i komponent\u00f3w\r\nallowmixing\r\n' Przyk\u0142ad element\u00f3w strukturalnych\r\nclass Customer {\r\n  +String email\r\n  +String name\r\n  +register()\r\n}\r\ninterface IPaymentGateway {\r\n  +authorize(amount: double): boolean\r\n  +capture(transactionId: String): void\r\n}\r\nclass OrderProcessingWorkflow &lt;collaboration&gt;\r\nusecase \"Checkout\" as UC_Checkout\r\nclass InventorySyncService &lt;active&gt; {\r\n  +runPollingThread()\r\n  +updateStock()\r\n}\r\ncomponent PaymentModule\r\nnode CloudServer_AWS\r\n@enduml<\/code><\/pre>                <\/div>\r\n                <div class=\"vpascode-actions\">\r\n                    <a href=\"https:\/\/www.vpascode.com#plantuml:JLBDIWCn4Bulx3iCNgpe4nGHfGVfGIoiqgDCaz66JJBB96dTYXV19_BgJVjUplO7l6M6BzzVSfqoIYx1rzKfpBSVlvzcWn0SfGr6Hz1wJ1VGoQRlqBO_Nsies-_UE0G7BOUE8yMiwxf2xtaTtAkBBmFNJA-qsm-qG9x27WGfIsbp4VInDykwCigUO59Iva02RtK5SDvaKGwWWCx_NqGCj9k5NbpA9AEpkdglAnVr_8o6O3h3Vf2wnKnhx0zyMFAInMreX85Bp6EmN1QUpiQmOFQ4SGSpsAap6cN1cD1ant5gnx0NL-oAdTtfxKtVYoMP2HjAIG5pblPP2u1BmzxZWWK7XgkwAeaC9eAJoP9CooMV02Pud3mTvoFZDAxKEqlVzD4q92kdaIu79okwEcIH4cVAhu8FIo6qGmMwBftLo4rcqnvACSUtWKCdTsoBr_uYMuA9vs872PAdctbJLzSKhNw2Fm00\" \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:JL7DQW8n4Bulx3iCNggqJo0Y5f7YeLHOYqSPar63IKOcYJyjVVVEhbfwcnc-V7-Pf8oII_1rzGIpY1jF2OAxkBW3teBnc1Ab5oY9m60tOhHWE1mvKiofhj1xFj-Uj2HDbc9o4VImtEijmUo2uUYfhZesc9QKEP30Trq1F2k-5QE0ply_H0pKxK8xbp99Vr1NFtNbeivRD0Jp1Lw3UdZ3J6Uytlcmv3sB-w8-1Yun3y5oqLY38MoOFM7iO0QFQfBwMJ0cDDbndDiXtCGLUs9dExsRwG-n90jXGoafOCLos6fi61ds7ZSis3ACwqgBQdk2tdHFvi0bzm0JV4xNZ_t1E8ydzSvoRQxHD2Gdfv56hPCJZUzPfCI5yglWSY-4jgr0p-LeDNAJsHpkfVpz1zmxUMTRsieZMuAfvs9R2PBrwwgfgmb5gt_-2m00\" 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>Edytuj PlantUML w VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<\/div>\n<ul data-nodeid=\"10030\">\n<li data-nodeid=\"10031\">\n<p data-nodeid=\"10032\"><strong data-nodeid=\"10158\">Klasy<\/strong>\u00a0(<code data-backticks=\"1\" data-nodeid=\"10156\">Klient<\/code>): Definiuj\u0105 szablony obiekt\u00f3w z atrybutami i operacjami.<\/p>\n<\/li>\n<li data-nodeid=\"10033\">\n<p data-nodeid=\"10034\"><strong data-nodeid=\"10165\">Interfejsy<\/strong>\u00a0(<code data-backticks=\"1\" data-nodeid=\"10163\">IPaymentGateway<\/code>): Okre\u015blaj\u0105 kontrakty bez szczeg\u00f3\u0142\u00f3w implementacji.<\/p>\n<\/li>\n<li data-nodeid=\"10035\">\n<p data-nodeid=\"10036\"><strong data-nodeid=\"10172\">Wsp\u00f3\u0142prace<\/strong>\u00a0(<code data-backticks=\"1\" data-nodeid=\"10170\">[WorkflowPrzetwarzaniaZam\u00f3wienia]<\/code>): Modeluje role wsp\u00f3\u0142dzia\u0142aj\u0105ce w kierunku wsp\u00f3lnego celu.<\/p>\n<\/li>\n<li data-nodeid=\"10037\">\n<p data-nodeid=\"10038\"><strong data-nodeid=\"10179\">Przypadki u\u017cycia<\/strong>\u00a0(<code data-backticks=\"1\" data-nodeid=\"10177\">Kasa<\/code>): Zapisuje zachowania systemu widoczne z zewn\u0105trz.<\/p>\n<\/li>\n<li data-nodeid=\"10039\">\n<p data-nodeid=\"10040\"><strong data-nodeid=\"10186\">Klasy aktywne<\/strong>\u00a0(<code data-backticks=\"1\" data-nodeid=\"10184\">[Us\u0142ugaSynchronizacjiInwentarza]<\/code>): Reprezentuje procesy wsp\u00f3\u0142bie\u017cne lub w\u0105tki.<\/p>\n<\/li>\n<li data-nodeid=\"10041\">\n<p data-nodeid=\"10042\"><strong data-nodeid=\"10193\">Sk\u0142adowe<\/strong>\u00a0(<code data-backticks=\"1\" data-nodeid=\"10191\">[Modu\u0142P\u0142atno\u015bci]<\/code>): Wdra\u017calne, wymienne modu\u0142y fizyczne.<\/p>\n<\/li>\n<li data-nodeid=\"10043\">\n<p data-nodeid=\"10044\"><strong data-nodeid=\"10200\">W\u0119z\u0142y<\/strong>\u00a0(<code data-backticks=\"1\" data-nodeid=\"10198\">[SerwerChmury_AWS]<\/code>): Zasoby obliczeniowe w czasie dzia\u0142ania.<\/p>\n<\/li>\n<\/ul>\n<h3 data-nodeid=\"10045\">2. Rzeczy zachowaniowe (dynamiczne czasowniki)<\/h3>\n<p data-nodeid=\"10046\">Rzeczy zachowaniowe zapisuj\u0105, jak system si\u0119 rozwija z czasem i reaguje na bod\u017ace.<\/p>\n<p id=\"Tlvijau\"><img alt=\"\" class=\"alignnone size-full wp-image-24790\" decoding=\"async\" height=\"269\" loading=\"lazy\" sizes=\"auto, (max-width: 377px) 100vw, 377px\" src=\"https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/05\/img_6a10259dcffb5.png\" srcset=\"https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/05\/img_6a10259dcffb5.png 377w, https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/05\/img_6a10259dcffb5-300x214.png 300w, https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/05\/img_6a10259dcffb5-150x107.png 150w\" width=\"377\"\/><\/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:PO_F2eCm38Vl1TyXU9ax-0A33N5us64W37OFRT0oJQMcOxxzucvbfq2-tvS_pIeO9SrJOGvmOw68LdnWgEwqhZWGT1yx8WzqB8oY4A5D6yN2BEfvwnTaWSSObiNpSDLUJdhSPcBfUF1CXVcvK5yo0qw0plKnk6IbAjiGNgLkooAgPAFKUUFa7GhjlD9ypkl_9LRBSvVW31AJdjCGE_tz2m00\" 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>Edytuj PlantUML w 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:PO-n2i8m48RtGDxXSB4EVG51AJX9buAWyv5aIDCcabwKEWfz2X_3rKtxNfuWKd0wEBxl__cBZZ1IQXifvh3rP28wLIDaXxwrw15SQ9Et3kbvFo-aG4SXGfcEgNuDgfSYgOlfY0aeGtVftVIpimsVQhmY-J3Ub9NYPqA-_Xgm1DIwYa4dHTcixEnh61yEPrpt9PZzosBjX8tLI6R34pAc_vbysg8OstyKM075PAGeZDUy_Gq0\" \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\"><code class=\"language-plantuml\" data-language=\"plantuml\" class=\"language-plantuml\">@startuml\r\n' Interakcja (Wymiana komunikat\u00f3w)\r\naktor Kupuj\u0105cy\r\nuczestnik Koszyk\r\nuczestnik SilnikP\u0142atno\u015bci\r\nKupuj\u0105cy -&gt; Koszyk : addProduct(\"Ksi\u0105\u017cka\")\r\nKoszyk -&gt; SilnikP\u0142atno\u015bci : validateCart()\r\nSilnikP\u0142atno\u015bci --&gt; Koszyk : cartValid = true\r\n@enduml<\/code><\/pre>                <\/div>\r\n                <div class=\"vpascode-actions\">\r\n                    <a href=\"https:\/\/www.vpascode.com#plantuml:PO-n2i8m48RtGDxXSB4EVG51AJX9buAWyv5aIDCcabwKEWfz2X_3rKtxNfuWKd0wEBxl__cBZZ1IQXifvh3rP28wLIDaXxwrw15SQ9Et3kbvFo-aG4SXGfcEgNuDgfSYgOlfY0aeGtVftVIpimsVQhmY-J3Ub9NYPqA-_Xgm1DIwYa4dHTcixEnh61yEPrpt9PZzosBjX8tLI6R34pAc_vbysg8OstyKM075PAGeZDUy_Gq0\" \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:PO_F2eCm38Vl1TyXU9ax-0A33N5us64W37OFRT0oJQMcOxxzucvbfq2-tvS_pIeO9SrJOGvmOw68LdnWgEwqhZWGT1yx8WzqB8oY4A5D6yN2BEfvwnTaWSSObiNpSDLUJdhSPcBfUF1CXVcvK5yo0qw0plKnk6IbAjiGNgLkooAgPAFKUUFa7GhjlD9ypkl_9LRBSvVW31AJdjCGE_tz2m00\" 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>Edytuj PlantUML w VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<\/div>\n<ul data-nodeid=\"10048\">\n<li data-nodeid=\"10049\">\n<p data-nodeid=\"10050\"><strong data-nodeid=\"10211\">Interakcje<\/strong>: Ci\u0105gi komunikat\u00f3w (<code data-backticks=\"1\" data-nodeid=\"10207\">validateCart()<\/code>,\u00a0<code data-backticks=\"1\" data-nodeid=\"10209\">cartValid = true<\/code>) wymieniane mi\u0119dzy obiektami.<\/p>\n<\/li>\n<li data-nodeid=\"10051\">\n<p data-nodeid=\"10052\"><strong data-nodeid=\"10222\">Maszyny stan\u00f3w<\/strong>: Przej\u015bcia cyklu \u017cycia (<code data-backticks=\"1\" data-nodeid=\"10216\">Oczekuj\u0105ce<\/code>\u00a0\u2192\u00a0<code data-backticks=\"1\" data-nodeid=\"10218\">Przetwarzanie<\/code>\u00a0\u2192\u00a0<code data-backticks=\"1\" data-nodeid=\"10220\">Wys\u0142ane\/Anulowane<\/code>) wyzwalane przez zdarzenia.<\/p>\n<\/li>\n<\/ul>\n<h3 data-nodeid=\"10053\">3. Grupowanie rzeczy (pojemniki organizacyjne)<\/h3>\n<p data-nodeid=\"10054\">Grupowanie rzeczy rozdziela z\u0142o\u017cone modele na przejrzyste przestrzenie nazw.<\/p>\n<p id=\"tCgLjMh\"><img alt=\"\" class=\"alignnone size-full wp-image-24792\" decoding=\"async\" height=\"112\" loading=\"lazy\" sizes=\"auto, (max-width: 882px) 100vw, 882px\" src=\"https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/05\/img_6a10261a6a3c1.png\" srcset=\"https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/05\/img_6a10261a6a3c1.png 882w, https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/05\/img_6a10261a6a3c1-300x38.png 300w, https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/05\/img_6a10261a6a3c1-768x98.png 768w, https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/05\/img_6a10261a6a3c1-150x19.png 150w, https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/05\/img_6a10261a6a3c1-400x51.png 400w\" width=\"882\"\/><\/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:NP31QW9138Rl0_CEmOkluR9Os4DfeNWg7i9CM8VE94iIxKBfktTLHEqj8NnVadzZZkh7LcDOGrUhV1kqCXSU8LKq8mFa34dQ94pi1iBW1mB3Hf2GJsWnu1cyOZ5CcBvm95ZrejHBQwI9Ll0J0roTyAQPzDuEV9AIA8RV1tXdfA_8IzsMjKzuVpINzcZeSYjy9fuTszb96Ul0JgEY5s6xcMuFmUU7QvcMGvafkUZ-t_Y5ydRkteVznRqXpajQVm00\" 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>Edytuj PlantUML w 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:NP1DQiD038Nt1jz1PDDh99WKl2W9XAnA5c8ipE2HP3HAxQPqqolb2A7twgGGcdGZ9FJUfvzbTZG_Sggh9zZgQSA480WSAPzG8i6GC4E4GNbK8V7BUReA_9qX8vSuVdzTpbwaTOKfwSHnZjBNrOXXm9vWqQXHeynaWHRmKLS0eK0pRAmZ-ojRUTCO2kRpphpFP2ye9USo_C7U7BChtnDM7KUvEXuPwzd915ChJhsXHvLy8ztEWjUTMnpBeY8KNEtmh_rCtNfURTl3Btj9qfMl_G00\" \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\"><code class=\"language-plantuml\" data-language=\"plantuml\" class=\"language-plantuml\">@startuml\r\n' Pozwala na mieszanie klas i komponent\u00f3w na tym samym p\u0142\u00f3tnie\r\nallowmixing\r\npackage \"CoreCommerce\" {\r\n  class Order\r\n  class Invoice\r\n}\r\npackage \"UserManagement\" {\r\n  class Customer\r\n  class AdminUser\r\n}\r\npackage \"ExternalIntegrations\" {\r\n  component [StripeConnector]\r\n  component [FedExAPI]\r\n}\r\n@enduml<\/code><\/pre>                <\/div>\r\n                <div class=\"vpascode-actions\">\r\n                    <a href=\"https:\/\/www.vpascode.com#plantuml:NP1DQiD038Nt1jz1PDDh99WKl2W9XAnA5c8ipE2HP3HAxQPqqolb2A7twgGGcdGZ9FJUfvzbTZG_Sggh9zZgQSA480WSAPzG8i6GC4E4GNbK8V7BUReA_9qX8vSuVdzTpbwaTOKfwSHnZjBNrOXXm9vWqQXHeynaWHRmKLS0eK0pRAmZ-ojRUTCO2kRpphpFP2ye9USo_C7U7BChtnDM7KUvEXuPwzd915ChJhsXHvLy8ztEWjUTMnpBeY8KNEtmh_rCtNfURTl3Btj9qfMl_G00\" \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:NP31QW9138Rl0_CEmOkluR9Os4DfeNWg7i9CM8VE94iIxKBfktTLHEqj8NnVadzZZkh7LcDOGrUhV1kqCXSU8LKq8mFa34dQ94pi1iBW1mB3Hf2GJsWnu1cyOZ5CcBvm95ZrejHBQwI9Ll0J0roTyAQPzDuEV9AIA8RV1tXdfA_8IzsMjKzuVpINzcZeSYjy9fuTszb96Ul0JgEY5s6xcMuFmUU7QvcMGvafkUZ-t_Y5ydRkteVznRqXpajQVm00\" 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>Edytuj PlantUML w VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<\/div>\n<ul data-nodeid=\"10056\">\n<li data-nodeid=\"10057\">\n<p data-nodeid=\"10058\"><strong data-nodeid=\"10229\">Pakiety<\/strong>: Wy\u0142\u0105cznie koncepcyjne pojemniki organizuj\u0105ce powi\u0105zane elementy podczas rozwoju.<\/p>\n<\/li>\n<\/ul>\n<h3 data-nodeid=\"10059\">4. Rzeczy komentarzowe (obja\u015bniaj\u0105ce komentarze)<\/h3>\n<p data-nodeid=\"10060\">Rzeczy komentarzowe zapewniaj\u0105 jasno\u015b\u0107, ograniczenia i wskaz\u00f3wki dla programist\u00f3w.<\/p>\n<p id=\"TBrAEyH\"><img alt=\"\" class=\"alignnone size-full wp-image-24793\" decoding=\"async\" height=\"94\" loading=\"lazy\" sizes=\"auto, (max-width: 513px) 100vw, 513px\" src=\"https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/05\/img_6a10264b8816c.png\" srcset=\"https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/05\/img_6a10264b8816c.png 513w, https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/05\/img_6a10264b8816c-300x55.png 300w, https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/05\/img_6a10264b8816c-150x27.png 150w, https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/05\/img_6a10264b8816c-400x73.png 400w\" width=\"513\"\/><\/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:JOzD2i9034Rt0tE7xBeGF82hAkuLFS6qZUt0D2dv0K6ykzFgmbq8xtl9rwebCPzB37r9gd2H0GLUCG3ipknTGJ2sL8upEzcslfja6g4cpJM6Tmp4XY1vd0puyLMivCar4rRfpGiU_ZqmknfaweiFkAAMdf1e09toigps3Xyi-3i29eaqMsRIZMPehi9zTLUssSU0DRj-4KDRnzhd0m00\" 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>Edytuj PlantUML w 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:JKyxJWD13Er7cZkyBWKI1w1AfFGWqT4v6IUOtHr7OuzMEuWcJGx1TSYziXieQAmd-_syDgVYTUXZsFTaXkUIkE0p1k1XgtNNCroT-isWDVjz_Uf5yX6pqgl5y1L3LcSKERuxzF1hiJ3Vo2WHTj8ocuxqzDyAGpL1er6uqCzbuPyqaNC7GQVMVC8usNGzTu9JQPpky-FwlHSU_jBh8akArSjyyf5AeooyUeo1Sy9IAuRr3ES7Rm00\" \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\"><code class=\"language-plantuml\" data-language=\"plantuml\" class=\"language-plantuml\">@startuml\r\nclass Order {\r\n  +Double totalAmount\r\n  +String status\r\n}\r\nnote right of Order\r\n  Zasada biznesowa: totalAmount musi zawiera\u0107\r\n  podatek i koszty wysy\u0142ki przed przej\u015bciem statusu\r\n  do 'Przetwarzanie'.\r\nend note\r\n@enduml<\/code><\/pre>                <\/div>\r\n                <div class=\"vpascode-actions\">\r\n                    <a href=\"https:\/\/www.vpascode.com#plantuml:JKyxJWD13Er7cZkyBWKI1w1AfFGWqT4v6IUOtHr7OuzMEuWcJGx1TSYziXieQAmd-_syDgVYTUXZsFTaXkUIkE0p1k1XgtNNCroT-isWDVjz_Uf5yX6pqgl5y1L3LcSKERuxzF1hiJ3Vo2WHTj8ocuxqzDyAGpL1er6uqCzbuPyqaNC7GQVMVC8usNGzTu9JQPpky-FwlHSU_jBh8akArSjyyf5AeooyUeo1Sy9IAuRr3ES7Rm00\" \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:JOzD2i9034Rt0tE7xBeGF82hAkuLFS6qZUt0D2dv0K6ykzFgmbq8xtl9rwebCPzB37r9gd2H0GLUCG3ipknTGJ2sL8upEzcslfja6g4cpJM6Tmp4XY1vd0puyLMivCar4rRfpGiU_ZqmknfaweiFkAAMdf1e09toigps3Xyi-3i29eaqMsRIZMPehi9zTLUssSU0DRj-4KDRnzhd0m00\" 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>Edytuj PlantUML w VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<\/div>\n<ul data-nodeid=\"10062\">\n<li data-nodeid=\"10063\">\n<p data-nodeid=\"10064\"><strong data-nodeid=\"10236\">Uwagi<\/strong>: Zagi\u0119te bloki tekstu przypi\u0119te do element\u00f3w w celu ogranicze\u0144, uwag lub dokumentacji.<\/p>\n<\/li>\n<\/ul>\n<hr data-nodeid=\"10065\"\/>\n<h2 data-nodeid=\"10066\">Cz\u0119\u015b\u0107 2: \u0141\u0105czenie element\u00f3w za pomoc\u0105 relacji UML<\/h2>\n<p data-nodeid=\"10067\">Relacje definiuj\u0105 zale\u017cno\u015bci semantyczne i strukturalne \u0142\u0105cz\u0105ce rzeczy ze sob\u0105. Architektura ShopSphere opiera si\u0119 na czterech g\u0142\u00f3wnych elementach relacyjnych:<\/p>\n<p id=\"PLWTJej\"><img alt=\"\" class=\"alignnone size-full wp-image-24794\" decoding=\"async\" height=\"296\" loading=\"lazy\" sizes=\"auto, (max-width: 498px) 100vw, 498px\" src=\"https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/05\/img_6a1026822658b.png\" srcset=\"https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/05\/img_6a1026822658b.png 498w, https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/05\/img_6a1026822658b-300x178.png 300w, https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/05\/img_6a1026822658b-150x89.png 150w, https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/05\/img_6a1026822658b-400x238.png 400w\" width=\"498\"\/><\/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:RPB1QW8n48Rl2_iEmnvQQzbGQqyYYw9GUgfq-m8X6NS7iab8OiNIX-_ehY3gCNyot_ppJnOnoP1sdScpH_X28nCv6rloy7tm684irAtpjMynO9uf8sCyAPvii-BIixQHXmvjgZ7yaEANP1E6hLG87yFL9ZY5CRfmBba5r9GOec-kk6GZpOLyj3SHi4QFLgDL1nYjPMnHWo6BJtbswGc4gAuCmGpcyrt4M5Kzx5N0aj6AJXF30ooR9c3JdqQrCzIZOK-f1KsoSrPpdzKk9jTXW69ImBWieNWHObp0Pz0ipi0RdZd2q6KgE5Hfw7VW3fwVeNN6k3t84Dp-IBsDWeVug-w5T-I-2NX7Y-42tLk-8Lyb2MN9r7ljPhnhNZAb2ChPBJLvjk2i-Mly0m00\" 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>Edytuj PlantUML w 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:RPAnJiCm48RtI7c7KnPAKImAJ5KLLUh4r8WoiPsSQshYE96TKCLYgeHu1iHZi7QZUIySQDMgPF3otzrt_t_or5IegpgNldS1ZqtPW2Q9_5d06XQheboKAzBaUroYCRzAALGwSpC7BSOc9rKjIBy8xZg5gaWlaHFSxqknBZWPK-Z3o4nJ8Ye7IVwLt4YCyaJkV8qOFA6aTgkAzdFt3eDCayaGIcr9DsjKUEbxfzw0iUZC68nXCgdRhMkFeZ_i3OEuM8lTcqKb20HWgYbruH46tCbfkq6GGWa42ud0ZaQvMpMhJLNaf24O1J0CGmYk6Hi6CDU94yTGvuACvHPXl-cMmGEX5FOFVlGDLr0w68AfjCLsatL9UixZ0hr6VGVjw7SCvkdtbtGXkXn7xttmimD363fmtyOn95QGUzmsa1LgAT9QE_-x3z-RaahSd_a1\" \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=\"10068\"><code class=\"language-plantuml\" data-language=\"plantuml\" class=\"language-plantuml\">@startuml\r\n' Typy relacji w ShopSphere\r\nclass ShoppingCart\r\nclass PaymentService\r\ninterface IPaymentProcessor\r\nclass CreditCardProcessor\r\nclass PayPalProcessor\r\n\r\n' 1. Zale\u017cno\u015b\u0107 (kreska przerywana)\r\nShoppingCart ..&gt; PaymentService : &lt;&lt;u\u017cywa&gt;&gt;\r\n\r\n' 2. Powi\u0105zanie i agregacja (ci\u0105g\u0142a linia z diamentem)\r\nCustomer \"1\" *-- \"0..*\" Order : umieszcza &gt;\r\n\r\n' 3. Realizacja (przerywana + pusta strza\u0142ka)\r\nCreditCardProcessor ..|&gt; IPaymentProcessor\r\n\r\n' 4. Og\u00f3lnienie (ci\u0105g\u0142a + pusta strza\u0142ka)\r\nPayPalProcessor --|&gt; CreditCardProcessor : dziedziczy konfiguracj\u0119\r\n@enduml\r\n<\/code><\/pre>                <\/div>\r\n                <div class=\"vpascode-actions\">\r\n                    <a href=\"https:\/\/www.vpascode.com#plantuml:RPAnJiCm48RtI7c7KnPAKImAJ5KLLUh4r8WoiPsSQshYE96TKCLYgeHu1iHZi7QZUIySQDMgPF3otzrt_t_or5IegpgNldS1ZqtPW2Q9_5d06XQheboKAzBaUroYCRzAALGwSpC7BSOc9rKjIBy8xZg5gaWlaHFSxqknBZWPK-Z3o4nJ8Ye7IVwLt4YCyaJkV8qOFA6aTgkAzdFt3eDCayaGIcr9DsjKUEbxfzw0iUZC68nXCgdRhMkFeZ_i3OEuM8lTcqKb20HWgYbruH46tCbfkq6GGWa42ud0ZaQvMpMhJLNaf24O1J0CGmYk6Hi6CDU94yTGvuACvHPXl-cMmGEX5FOFVlGDLr0w68AfjCLsatL9UixZ0hr6VGVjw7SCvkdtbtGXkXn7xttmimD363fmtyOn95QGUzmsa1LgAT9QE_-x3z-RaahSd_a1\" \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:RPB1QW8n48Rl2_iEmnvQQzbGQqyYYw9GUgfq-m8X6NS7iab8OiNIX-_ehY3gCNyot_ppJnOnoP1sdScpH_X28nCv6rloy7tm684irAtpjMynO9uf8sCyAPvii-BIixQHXmvjgZ7yaEANP1E6hLG87yFL9ZY5CRfmBba5r9GOec-kk6GZpOLyj3SHi4QFLgDL1nYjPMnHWo6BJtbswGc4gAuCmGpcyrt4M5Kzx5N0aj6AJXF30ooR9c3JdqQrCzIZOK-f1KsoSrPpdzKk9jTXW69ImBWieNWHObp0Pz0ipi0RdZd2q6KgE5Hfw7VW3fwVeNN6k3t84Dp-IBsDWeVug-w5T-I-2NX7Y-42tLk-8Lyb2MN9r7ljPhnhNZAb2ChPBJLvjk2i-Mly0m00\" 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>Edytuj PlantUML w VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<\/div>\n<ul data-nodeid=\"10069\">\n<li data-nodeid=\"10070\">\n<p data-nodeid=\"10071\"><strong data-nodeid=\"10249\">Zale\u017cno\u015b\u0107<\/strong>: Zmiana w\u00a0<code data-backticks=\"1\" data-nodeid=\"10245\">PaymentService<\/code>\u00a0mo\u017ce mie\u0107 wp\u0142yw na\u00a0<code data-backticks=\"1\" data-nodeid=\"10247\">ShoppingCart<\/code>.<\/p>\n<\/li>\n<li data-nodeid=\"10072\">\n<p data-nodeid=\"10073\"><strong data-nodeid=\"10262\">Zwi\u0105zek\/Agregacja<\/strong>:\u00a0<code data-backticks=\"1\" data-nodeid=\"10254\">Klient<\/code>\u00a0utrzymuje strukturalne po\u0142\u0105czenie \u201eca\u0142o\u015b\u0107\/cz\u0119\u015b\u0107\u201d z\u00a0<code data-backticks=\"1\" data-nodeid=\"10260\">Zam\u00f3wienie<\/code>.<\/p>\n<\/li>\n<li data-nodeid=\"10074\">\n<p data-nodeid=\"10075\"><strong data-nodeid=\"10271\">Realizacja<\/strong>:\u00a0<code data-backticks=\"1\" data-nodeid=\"10267\">CreditCardProcessor<\/code>\u00a0gwarantuje kontrakt okre\u015blony przez\u00a0<code data-backticks=\"1\" data-nodeid=\"10269\">IPaymentProcessor<\/code>.<\/p>\n<\/li>\n<li data-nodeid=\"10076\">\n<p data-nodeid=\"10077\"><strong data-nodeid=\"10280\">Og\u00f3lnienie<\/strong>:\u00a0<code data-backticks=\"1\" data-nodeid=\"10276\">PayPalProcessor<\/code>\u00a0specjalizuje\u00a0<code data-backticks=\"1\" data-nodeid=\"10278\">CreditCardProcessor<\/code>, dziedzicz\u0105c jego struktur\u0119 i zachowanie.<\/p>\n<\/li>\n<\/ul>\n<hr data-nodeid=\"10078\"\/>\n<h2 data-nodeid=\"10079\">Cz\u0119\u015b\u0107 3: Wizualizacja architektury za pomoc\u0105 diagram\u00f3w UML<\/h2>\n<p data-nodeid=\"10080\">Diagramy to graficzne projekcje, kt\u00f3re grupuj\u0105 rzeczy i relacje w widoki dostosowane do interesariuszy. Poni\u017cej znajduj\u0105 si\u0119 pe\u0142ne implementacje diagram\u00f3w dla ShopSphere, podzielone wed\u0142ug perspektyw strukturalnych i behawioralnych.<\/p>\n<h3 data-nodeid=\"10081\">Diagramy strukturalne<\/h3>\n<p data-nodeid=\"10082\">Zapisuj\u0105 architektur\u0119 statyczn\u0105 i wdro\u017cenie fizyczne.<\/p>\n<h4 data-nodeid=\"10083\">Diagram klas<\/h4>\n<p data-nodeid=\"10084\">Wy\u015bwietla klasy systemu, interfejsy oraz ich statyczne relacje.<\/p>\n<p id=\"CIPWwrn\"><img alt=\"\" class=\"alignnone size-full wp-image-24795\" decoding=\"async\" height=\"202\" loading=\"lazy\" sizes=\"auto, (max-width: 291px) 100vw, 291px\" src=\"https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/05\/img_6a1027ee4af39.png\" srcset=\"https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/05\/img_6a1027ee4af39.png 291w, https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/05\/img_6a1027ee4af39-150x104.png 150w\" width=\"291\"\/><\/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:LSzD2i8m40NWVI1t6BBoXmQzG2dKZIi5Jp0qemJoKoRJXQXtrsgjk7iC7uytJH5a6MBGgWjO2hH3aHo9uQOLmFeaxDC5AA8FeDL3goyyi9lL3eKWZuTtcfnFGdp6Zc1_n6ka91FlENTKocBvtzWoEIyjijFgby7QUpqtZ7gUQBO6gge6ix5sPJwBj6eekTT3Jm00\" 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>Edytuj PlantUML w 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:LSzD2i8m40NWVI1t6BBoXmQzG2d4ZIi5Jp2OKQ9D8fFfGjIxssAjk7iC7uytJH5awMAhrRN5Wk2w8ZaImqChWEL1EAGpKCJGavTMNxTZFw4D2a4U3aCQMKX2VA9BWUqUxv6IZFh6-KYbpEP_VOx91t78NgjV1ckVzLGmw6cVMHkegXhCojg5-UpHgg7a-s_U\" \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=\"10085\"><code class=\"language-plantuml\" data-language=\"plantuml\" class=\"language-plantuml\">@startuml\r\nklasa Customer {\r\n  +String email\r\n}\r\n\r\nklasa Order {\r\n  +Date orderDate\r\n}\r\n\r\ninterfejs IPayment {\r\n  +process()\r\n}\r\n\r\nklasa CreditCard\r\nCreditCard ..|&gt; IPayment\r\n\r\nCustomer \"1\" --&gt; \"0..*\" Order\r\n@enduml\r\n<\/code><\/pre>                <\/div>\r\n                <div class=\"vpascode-actions\">\r\n                    <a href=\"https:\/\/www.vpascode.com#plantuml:LSzD2i8m40NWVI1t6BBoXmQzG2d4ZIi5Jp2OKQ9D8fFfGjIxssAjk7iC7uytJH5awMAhrRN5Wk2w8ZaImqChWEL1EAGpKCJGavTMNxTZFw4D2a4U3aCQMKX2VA9BWUqUxv6IZFh6-KYbpEP_VOx91t78NgjV1ckVzLGmw6cVMHkegXhCojg5-UpHgg7a-s_U\" \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:LSzD2i8m40NWVI1t6BBoXmQzG2dKZIi5Jp0qemJoKoRJXQXtrsgjk7iC7uytJH5a6MBGgWjO2hH3aHo9uQOLmFeaxDC5AA8FeDL3goyyi9lL3eKWZuTtcfnFGdp6Zc1_n6ka91FlENTKocBvtzWoEIyjijFgby7QUpqtZ7gUQBO6gge6ix5sPJwBj6eekTT3Jm00\" 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>Edytuj PlantUML w VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<\/div>\n<h4 data-nodeid=\"10086\">Diagram obiekt\u00f3w<\/h4>\n<p data-nodeid=\"10087\">Reprezentuje zrzut instancji obiekt\u00f3w w czasie wykonywania.<\/p>\n<p id=\"EjFMVwR\"><img alt=\"\" class=\"alignnone size-full wp-image-24796\" decoding=\"async\" height=\"162\" loading=\"lazy\" sizes=\"auto, (max-width: 139px) 100vw, 139px\" src=\"https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/05\/img_6a10283717380.png\" srcset=\"https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/05\/img_6a10283717380.png 139w, https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/05\/img_6a10283717380-129x150.png 129w\" width=\"139\"\/><\/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:SoWkIImgAStDuUNAJyfAJIvHKChApyXpACx8Bz1BpizLKaWiLaWsHCZw5wMa5Yae6neOcO3bye5ooOOAkhfsGAQ2bK91Jc9oQh627I-NGsfU2j1W0000\" 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>Edytuj PlantUML w 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:SoWkIImgAStDuUNAJyfCpIvHKChApyXpACx8Bz1BpizLKiXApCvNI3P4oFiNfQGMAIWR6XYPG6NpWRB9XWgwkdP0feALGa5EOd9giO8TBvT3QbuAq700\" \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=\"10088\"><code class=\"language-plantuml\" data-language=\"plantuml\" class=\"language-plantuml\">@startuml\r\nobiekt \"john@shop.com\" jako c1\r\nobiekt \"Order #1024\" jako o1\r\nc1 --&gt; o1 : places &gt;\r\n@enduml\r\n<\/code><\/pre>                <\/div>\r\n                <div class=\"vpascode-actions\">\r\n                    <a href=\"https:\/\/www.vpascode.com#plantuml:SoWkIImgAStDuUNAJyfCpIvHKChApyXpACx8Bz1BpizLKiXApCvNI3P4oFiNfQGMAIWR6XYPG6NpWRB9XWgwkdP0feALGa5EOd9giO8TBvT3QbuAq700\" \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:SoWkIImgAStDuUNAJyfAJIvHKChApyXpACx8Bz1BpizLKaWiLaWsHCZw5wMa5Yae6neOcO3bye5ooOOAkhfsGAQ2bK91Jc9oQh627I-NGsfU2j1W0000\" 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>Edytuj PlantUML w VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<\/div>\n<h4 data-nodeid=\"10089\">Diagram sk\u0142adnik\u00f3w<\/h4>\n<p data-nodeid=\"10090\">Ilustruje zale\u017cno\u015bci modu\u0142owe i interfejsy.<\/p>\n<p id=\"zJkFkHt\"><img alt=\"\" class=\"alignnone size-full wp-image-24797\" decoding=\"async\" height=\"271\" loading=\"lazy\" sizes=\"auto, (max-width: 144px) 100vw, 144px\" src=\"https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/05\/img_6a102848bf268.png\" srcset=\"https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/05\/img_6a102848bf268.png 144w, https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/05\/img_6a102848bf268-80x150.png 80w\" width=\"144\"\/><\/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:SoWkIImgAStDuULApiyjoCzBpIjHY0vFJN8iA8X54VClIaaj2aujAijCJaMLSN42yc5w57HrxJ0Ke_8XIi2w75BpKe2M0m00\" 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>Edytuj PlantUML w 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:SoWkIImgAStDuUKgpZxQb9YIbvcj41sUckHOK12B8kPVb99Q59nQL9QPd8egu-84vCFqAEZgsc4eHkL3b81rEQJcfG0j1m00\" \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=\"10091\"><code class=\"language-plantuml\" data-language=\"plantuml\" class=\"language-plantuml\">@startuml\r\nsk\u0142adnik [WebApp]\r\nsk\u0142adnik [OrderService]\r\nsk\u0142adnik [DB]\r\n[WebApp] --&gt; [OrderService]\r\n[OrderService] --&gt; [DB]\r\n@enduml\r\n<\/code><\/pre>                <\/div>\r\n                <div class=\"vpascode-actions\">\r\n                    <a href=\"https:\/\/www.vpascode.com#plantuml:SoWkIImgAStDuUKgpZxQb9YIbvcj41sUckHOK12B8kPVb99Q59nQL9QPd8egu-84vCFqAEZgsc4eHkL3b81rEQJcfG0j1m00\" \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:SoWkIImgAStDuULApiyjoCzBpIjHY0vFJN8iA8X54VClIaaj2aujAijCJaMLSN42yc5w57HrxJ0Ke_8XIi2w75BpKe2M0m00\" 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>Edytuj PlantUML w VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<\/div>\n<h4 data-nodeid=\"10092\">Diagram wdra\u017cania<\/h4>\n<p data-nodeid=\"10093\">Mapuje sk\u0142adniki oprogramowania na fizyczne w\u0119z\u0142y czasu wykonywania.<\/p>\n<p id=\"bTiZzYf\"><img alt=\"\" class=\"alignnone size-full wp-image-24798\" decoding=\"async\" height=\"323\" loading=\"lazy\" sizes=\"auto, (max-width: 266px) 100vw, 266px\" src=\"https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/05\/img_6a1028585dd88.png\" srcset=\"https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/05\/img_6a1028585dd88.png 266w, https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/05\/img_6a1028585dd88-247x300.png 247w, https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/05\/img_6a1028585dd88-124x150.png 124w\" width=\"266\"\/><\/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:SoWkIImgAStDuUNAoqz9LL3ooKzCSKhCISnBJYrIKgZcvL9GW4Wu5XG4fnQLfHR56nX29HGKalDp2_BpKlDA5AB3KvE0Ic91uhMyNBKmyrmIInAJ4ejJdNDAYqlWHYBf2yWlBaalIWqEz8a5QuCPfA2hQuScwv2Qbm9qAW00\" 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>Edytuj PlantUML w 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:SoWkIImgAStDuUKgFpApAlLeauAIJtvYYbDYJc9UScgHaa8rBvU20bpEiQ0WEBMeBBKeti0GAgUWK9nzj2an9IypMo4wF3K9g2GM95xBorMBPAfBOabYKc9ngdDEQN49t60ahG7vnINfHQd1WJwnO9qminHqTUtGP1rIyrA0RWO0\" \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=\"10094\"><code class=\"language-plantuml\" data-language=\"plantuml\" class=\"language-plantuml\">@startuml\r\nw\u0119ze\u0142 \"LoadBalancer\" {\r\n  w\u0119ze\u0142 \"AppServer_01\" {\r\n    sk\u0142adnik [WebApp]\r\n  }\r\n}\r\nw\u0119ze\u0142 \"DatabaseCluster\" {\r\n  sk\u0142adnik [PostgreSQL]\r\n}\r\n[WebApp] --&gt; [PostgreSQL]\r\n@enduml\r\n<\/code><\/pre>                <\/div>\r\n                <div class=\"vpascode-actions\">\r\n                    <a href=\"https:\/\/www.vpascode.com#plantuml:SoWkIImgAStDuUKgFpApAlLeauAIJtvYYbDYJc9UScgHaa8rBvU20bpEiQ0WEBMeBBKeti0GAgUWK9nzj2an9IypMo4wF3K9g2GM95xBorMBPAfBOabYKc9ngdDEQN49t60ahG7vnINfHQd1WJwnO9qminHqTUtGP1rIyrA0RWO0\" \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:SoWkIImgAStDuUNAoqz9LL3ooKzCSKhCISnBJYrIKgZcvL9GW4Wu5XG4fnQLfHR56nX29HGKalDp2_BpKlDA5AB3KvE0Ic91uhMyNBKmyrmIInAJ4ejJdNDAYqlWHYBf2yWlBaalIWqEz8a5QuCPfA2hQuScwv2Qbm9qAW00\" 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>Edytuj PlantUML w VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<\/div>\n<h3 data-nodeid=\"10095\">Diagramy zachowa\u0144<\/h3>\n<p data-nodeid=\"10096\">Zapisuje dynamiczne przep\u0142ywy pracy, interakcje i przep\u0142yw sterowania.<\/p>\n<h4 data-nodeid=\"10097\">Diagram przypadk\u00f3w u\u017cycia<\/h4>\n<p data-nodeid=\"10098\">Mapuje aktor\u00f3w na funkcjonalno\u015bci systemu.<\/p>\n<p id=\"BXyoaMj\"><img alt=\"\" class=\"alignnone size-full wp-image-24799\" decoding=\"async\" height=\"197\" loading=\"lazy\" sizes=\"auto, (max-width: 296px) 100vw, 296px\" src=\"https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/05\/img_6a10287443d64.png\" srcset=\"https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/05\/img_6a10287443d64.png 296w, https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/05\/img_6a10287443d64-150x100.png 150w\" width=\"296\"\/><\/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:JOv12W8n34NtXTuXp7uMUW0PxSg5ImyGsbWBRGDfEkBjBJe3hiBdl__8qXH5UydMP7eeA8Ea-5G8ISXhuceDUcK1rvjo8TdpEPGqojx8OoEOBiAlSHqgPeuJO8ExE_m1DwmO2QvrfJe4xmqvMhEhOPvFlz5NliK1B5J3-F43\" 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>Edytuj PlantUML w 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:ROyx3i8m44HxIxx3AdqAE00AoWLeQEXMU1NvRsriHN7FhIZXNbX0gEXcf7apcc7EoBbu9uNLn2MGXQZ0qK86L8J4s9GKQ7Da6CkSeoVU_55v7QH8NDU4gg7bUL-l6g4xSQN9FMuA3LZCwEBKWK4RuJpk_X8NvDhojG4L4yxezO_OIx5DGzyVFXtlyQzjWO62QZzU\" \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=\"10099\"><code class=\"language-plantuml\" data-language=\"plantuml\" class=\"language-plantuml\">@startuml\r\nkierunek od lewej do prawej\r\naktor Customer\r\naktor Admin\r\nprzypadek u\u017cycia \"Przegl\u0105daj katalog\" jako UC1\r\nprzypadek u\u017cycia \"Zarz\u0105dzaj zapasami\" jako UC2\r\nCustomer --&gt; UC1\r\nAdmin --&gt; UC2\r\n@enduml\r\n<\/code><\/pre>                <\/div>\r\n                <div class=\"vpascode-actions\">\r\n                    <a href=\"https:\/\/www.vpascode.com#plantuml:ROyx3i8m44HxIxx3AdqAE00AoWLeQEXMU1NvRsriHN7FhIZXNbX0gEXcf7apcc7EoBbu9uNLn2MGXQZ0qK86L8J4s9GKQ7Da6CkSeoVU_55v7QH8NDU4gg7bUL-l6g4xSQN9FMuA3LZCwEBKWK4RuJpk_X8NvDhojG4L4yxezO_OIx5DGzyVFXtlyQzjWO62QZzU\" \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:JOv12W8n34NtXTuXp7uMUW0PxSg5ImyGsbWBRGDfEkBjBJe3hiBdl__8qXH5UydMP7eeA8Ea-5G8ISXhuceDUcK1rvjo8TdpEPGqojx8OoEOBiAlSHqgPeuJO8ExE_m1DwmO2QvrfJe4xmqvMhEhOPvFlz5NliK1B5J3-F43\" 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>Edytuj PlantUML w VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<\/div>\n<h4 data-nodeid=\"10100\">Diagram sekwencji<\/h4>\n<p data-nodeid=\"10101\">Podkre\u015bla kolejno\u015b\u0107 czasow\u0105 wymiany komunikat\u00f3w.<\/p>\n<p id=\"nVpYHSx\"><img alt=\"\" class=\"alignnone size-full wp-image-24800\" decoding=\"async\" height=\"298\" loading=\"lazy\" sizes=\"auto, (max-width: 275px) 100vw, 275px\" src=\"https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/05\/img_6a102885eba51.png\" srcset=\"https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/05\/img_6a102885eba51.png 275w, https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/05\/img_6a102885eba51-138x150.png 138w\" width=\"275\"\/><\/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:LOvB2W8n343tXTuXIrtC1Lp855Up4yG3r3HYcNw6DkFvJGg2xi9xUIHpPzzupyaQZrmRt3irQpQ14UFc2yD5vd_YheirkWZJUMWuGQT4o0jJFXoj6L2aR8h35-5wuughEcNJJwZSlNrC_f7ecueV1oIkvHbRTY5eF5C9ykq7\" 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>Edytuj PlantUML w 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:SoWkIImgAStDuULAp2x9Br88FRgdiYGxlpmlCvkNgpIvAhMu1CXKyCulhgf44N4CyEJbGbAje6i7LQLWfL2ScfEQNE9PafgheSdB1HK6AW1g0iecPwGcPmUNv2TdWsH1Oheeca4oZcM9cJc9IJcf2Er0DSZs0St9pqlBBCfrJ4a1cUEGcfS2z0W0\" \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=\"10102\"><code class=\"language-plantuml\" data-language=\"plantuml\" class=\"language-plantuml\">@startuml\r\naktor U\u017cytkownik\r\nuczestnik Koszyk\r\nuczestnik API\r\nU\u017cytkownik -&gt; Koszyk : selectItem()\r\nKoszyk -&gt; API : checkStock()\r\nAPI --&gt; Koszyk : stockAvailable\r\nKoszyk --&gt; U\u017cytkownik : confirmAdd()\r\n@enduml\r\n<\/code><\/pre>                <\/div>\r\n                <div class=\"vpascode-actions\">\r\n                    <a href=\"https:\/\/www.vpascode.com#plantuml:SoWkIImgAStDuULAp2x9Br88FRgdiYGxlpmlCvkNgpIvAhMu1CXKyCulhgf44N4CyEJbGbAje6i7LQLWfL2ScfEQNE9PafgheSdB1HK6AW1g0iecPwGcPmUNv2TdWsH1Oheeca4oZcM9cJc9IJcf2Er0DSZs0St9pqlBBCfrJ4a1cUEGcfS2z0W0\" \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:LOvB2W8n343tXTuXIrtC1Lp855Up4yG3r3HYcNw6DkFvJGg2xi9xUIHpPzzupyaQZrmRt3irQpQ14UFc2yD5vd_YheirkWZJUMWuGQT4o0jJFXoj6L2aR8h35-5wuughEcNJJwZSlNrC_f7ecueV1oIkvHbRTY5eF5C9ykq7\" 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>Edytuj PlantUML w VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<\/div>\n<h4 data-nodeid=\"10103\">Diagram komunikacji<\/h4>\n<p data-nodeid=\"10104\">Skupia si\u0119 na strukturalnej organizacji obiekt\u00f3w przekazuj\u0105cych komunikaty.<\/p>\n<p id=\"QDorveF\"><img alt=\"\" class=\"alignnone size-full wp-image-24801\" decoding=\"async\" height=\"58\" loading=\"lazy\" sizes=\"auto, (max-width: 413px) 100vw, 413px\" src=\"https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/05\/img_6a102899ccc4f.png\" srcset=\"https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/05\/img_6a102899ccc4f.png 413w, https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/05\/img_6a102899ccc4f-300x42.png 300w, https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/05\/img_6a102899ccc4f-150x21.png 150w, https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/05\/img_6a102899ccc4f-400x56.png 400w\" width=\"413\"\/><\/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:SoWkIImgAStDuUNAJyfAJIvH22rEBO9pd86IS8vZW2Sl5qXQGTSEBADWfM1efL2ScWEKzIn9pTNGvEK2YmFbWOg1qaPM2iaPgSdPmINvoTaWQP2mBaAxiPL2KMf9QL5UK6fnQKu9I8L3QbuAq3q0\" 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>Edytuj PlantUML w 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:SoWkIImgAStDuUNAJyfCpIvH23swfx8aExyyBpCRBkQTNrnLYU0w1dZoSY6fKz2rWofHi58mj58eJir9JIxnB4dDrT3avOBA0DK0zG4L65af96Ua9cS7b-GdPuCKW8HraOqmjb8eIYqfBSeBIYqkpIa1gN58pKi1kX80\" \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=\"10105\"><code class=\"language-plantuml\" data-language=\"plantuml\" class=\"language-plantuml\">@startuml\r\nobiekt U\u017cytkownik\r\nobiekt Koszyk\r\nobiekt API\r\nU\u017cytkownik -&gt; Koszyk : 1: selectItem()\r\nKoszyk -&gt; API : 2: checkStock()\r\nAPI --&gt; Koszyk : 3: returnResult()\r\n@enduml\r\n<\/code><\/pre>                <\/div>\r\n                <div class=\"vpascode-actions\">\r\n                    <a href=\"https:\/\/www.vpascode.com#plantuml:SoWkIImgAStDuUNAJyfCpIvH23swfx8aExyyBpCRBkQTNrnLYU0w1dZoSY6fKz2rWofHi58mj58eJir9JIxnB4dDrT3avOBA0DK0zG4L65af96Ua9cS7b-GdPuCKW8HraOqmjb8eIYqfBSeBIYqkpIa1gN58pKi1kX80\" \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:SoWkIImgAStDuUNAJyfAJIvH22rEBO9pd86IS8vZW2Sl5qXQGTSEBADWfM1efL2ScWEKzIn9pTNGvEK2YmFbWOg1qaPM2iaPgSdPmINvoTaWQP2mBaAxiPL2KMf9QL5UK6fnQKu9I8L3QbuAq3q0\" 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>Edytuj PlantUML w VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<\/div>\n<h4 data-nodeid=\"10106\">Diagram stan\u00f3w<\/h4>\n<p data-nodeid=\"10107\">Wy\u015bwietla przej\u015bcia stan\u00f3w reaktywnych.<\/p>\n<p id=\"WhYMAwj\"><img alt=\"\" class=\"alignnone size-full wp-image-24818\" decoding=\"async\" height=\"454\" loading=\"lazy\" sizes=\"auto, (max-width: 317px) 100vw, 317px\" src=\"https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/05\/img_6a158cda3dc64.png\" srcset=\"https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/05\/img_6a158cda3dc64.png 317w, https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/05\/img_6a158cda3dc64-209x300.png 209w, https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/05\/img_6a158cda3dc64-105x150.png 105w\" width=\"317\"\/><\/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:SoWkIImgAStDuUMArefLqDMrK_0lICtZvGAH2a2USqv-SMgAWfL2SaPgSdP-QOc69YyNL12aEZWZiw00hA0WiJ8tDQ_4EISriIWr1QGC9WTIvvAQarcM2fJWvO8pmH90Qtcv75BpKe2E0000\" 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>Edytuj PlantUML w 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:SoWkIImgAStDuUMArefLqDMrK_0lAGSAfV9oGHaAGB6enDpilCmZCu4yAuNaZDJaxFpI4WrDNYua2P3UyChYeqs9UI1L1OcLkQbv9SuvgOb5gIaWjN19a4gNV93DoLNvUK2Ra3XWIQ1JUBaSKlDIW0u30000\" \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=\"10108\"><code class=\"language-plantuml\" data-language=\"plantuml\" class=\"language-plantuml\">@startuml\r\n[*] --&gt; Otwarte\r\nOtwarte -&gt; Zamkni\u0119te : checkout()\r\nZamkni\u0119te --&gt; Wys\u0142ane : paymentCleared()\r\nWys\u0142ane --&gt; Dostarczone\r\nDostarczone --&gt; [*]\r\n@enduml\r\n<\/code><\/pre>                <\/div>\r\n                <div class=\"vpascode-actions\">\r\n                    <a href=\"https:\/\/www.vpascode.com#plantuml:SoWkIImgAStDuUMArefLqDMrK_0lAGSAfV9oGHaAGB6enDpilCmZCu4yAuNaZDJaxFpI4WrDNYua2P3UyChYeqs9UI1L1OcLkQbv9SuvgOb5gIaWjN19a4gNV93DoLNvUK2Ra3XWIQ1JUBaSKlDIW0u30000\" \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:SoWkIImgAStDuUMArefLqDMrK_0lICtZvGAH2a2USqv-SMgAWfL2SaPgSdP-QOc69YyNL12aEZWZiw00hA0WiJ8tDQ_4EISriIWr1QGC9WTIvvAQarcM2fJWvO8pmH90Qtcv75BpKe2E0000\" 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>Edytuj PlantUML w VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<\/div>\n<h4 data-nodeid=\"10109\">Diagram aktywno\u015bci<\/h4>\n<p data-nodeid=\"10110\">Wyr\u00f3\u017cnia sekwencyjne i r\u00f3wnoleg\u0142e przep\u0142ywy sterowania.<\/p>\n<p id=\"eaAESho\"><img alt=\"\" class=\"alignnone size-full wp-image-24819\" decoding=\"async\" height=\"278\" loading=\"lazy\" sizes=\"auto, (max-width: 306px) 100vw, 306px\" src=\"https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/05\/img_6a158cf2947ac.png\" srcset=\"https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/05\/img_6a158cf2947ac.png 306w, https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/05\/img_6a158cf2947ac-300x273.png 300w, https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/05\/img_6a158cf2947ac-150x136.png 150w\" width=\"306\"\/><\/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:BOv12iCm30Jl0lr1xt0kwQdqrD0V66TRJ1sfo6uWlu-RvhOmm-wEjKLltwKm7OafF92GLyZTP_Z0z3H_Cuc4oIsXLfdYja3RYII-OjP3k9HYAJR8JTSkc6_TWSxohmXNAFpabXE6twXzcCOkzGyx\" 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>Edytuj PlantUML w 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:SoWkIImgAStDuUK2itYvhFnJaZ9JYweKgX9p3sykpqpDoqorvkLAoo_AvkLIKB0AAAfABIa_l1ceek1eKs99NlxHsKVQeIeK4jCJC_DWwYfJgZ9JSu065IGM0nMavgKeG8on2gzCJyrBBIhDKaXBp2ufBJeoqnhaWFm2NYu7e3AWUm00\" \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=\"10111\"><code class=\"language-plantuml\" data-language=\"plantuml\" class=\"language-plantuml\">@startuml\r\nstart\r\n:Odbierz zam\u00f3wienie;\r\nfork\r\n  :Przetw\u00f3rz p\u0142atno\u015b\u0107;\r\nfork again\r\n  :Przydziel zapas;\r\nend fork\r\n:Wygeneruj faktur\u0119;\r\nstop\r\n@enduml\r\n<\/code><\/pre>                <\/div>\r\n                <div class=\"vpascode-actions\">\r\n                    <a href=\"https:\/\/www.vpascode.com#plantuml:SoWkIImgAStDuUK2itYvhFnJaZ9JYweKgX9p3sykpqpDoqorvkLAoo_AvkLIKB0AAAfABIa_l1ceek1eKs99NlxHsKVQeIeK4jCJC_DWwYfJgZ9JSu065IGM0nMavgKeG8on2gzCJyrBBIhDKaXBp2ufBJeoqnhaWFm2NYu7e3AWUm00\" \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:BOv12iCm30Jl0lr1xt0kwQdqrD0V66TRJ1sfo6uWlu-RvhOmm-wEjKLltwKm7OafF92GLyZTP_Z0z3H_Cuc4oIsXLfdYja3RYII-OjP3k9HYAJR8JTSkc6_TWSxohmXNAFpabXE6twXzcCOkzGyx\" 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>Edytuj PlantUML w VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<\/div>\n<hr data-nodeid=\"10112\"\/>\n<h2 data-nodeid=\"10113\">Wnioski<\/h2>\n<p data-nodeid=\"10114\">J\u0119zyk modelowania zintegrowanego to znacznie wi\u0119cej ni\u017c zbi\u00f3r diagram\u00f3w i regu\u0142 sk\u0142adni; to dyscyplinarna ramy do my\u015blenia o z\u0142o\u017cono\u015bci systemu. Poprzez rozk\u0142ad ShopSphere na\u00a0<strong data-nodeid=\"10319\">Rzeczy<\/strong>, ustalili\u015bmy precyzyjny s\u0142ownictwo dla struktur statycznych, zachowa\u0144 dynamicznych, granic organizacyjnych i dokumentacji. Poprzez\u00a0<strong data-nodeid=\"10320\">Relacje<\/strong>, zmapowali\u015bmy zale\u017cno\u015bci semantyczne, kt\u00f3re okre\u015blaj\u0105 spos\u00f3b dzia\u0142ania tych element\u00f3w, ich dziedziczenie i realizacj\u0119 kontrakt\u00f3w. Na ko\u0144cu, projektuj\u0105c te elementy na cele\u00a0<strong data-nodeid=\"10321\">Diagramy<\/strong>, stworzyli\u015bmy dostosowane wizualizacje spe\u0142niaj\u0105ce r\u00f3\u017cne potrzeby stakeholder\u00f3w \u2014 od og\u00f3lnych przypadk\u00f3w u\u017cycia dla mened\u017cer\u00f3w produktu po szczeg\u00f3\u0142owe mapy wdra\u017cania dla in\u017cynier\u00f3w DevOps.<\/p>\n<p class=\"\" data-nodeid=\"10115\">Opanowanie UML to proces iteracyjny. W miar\u0119 ewolucji system\u00f3w modele musz\u0105 pozostawa\u0107 \u017cywymi artefaktami, kt\u00f3re kieruj\u0105 rozwojem, u\u0142atwiaj\u0105 wdra\u017canie nowych cz\u0142onk\u00f3w zespo\u0142u i zapobiegaj\u0105 odchyleniu architektury. Przywi\u0105zuj\u0105c abstrakcyjne koncepcje UML do konkretnych przypadk\u00f3w studenckich i wykorzystuj\u0105c nowoczesne narz\u0119dzia modelowania, takie jak PlantUML, zespo\u0142y deweloperskie mog\u0105 przekszta\u0142ca\u0107 niepewno\u015b\u0107 w jasno\u015b\u0107, zapewniaj\u0105c, \u017ce architektury oprogramowania s\u0105 tak solidne, skalowalne i dobrze dokumentowane, jak kod, kt\u00f3ry je realizuje.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Wprowadzenie Nowoczesne systemy oprogramowania s\u0105 z natury skomplikowane, z\u0142o\u017cone z setek wzajemnie wsp\u00f3\u0142pracuj\u0105cych komponent\u00f3w, proces\u00f3w wsp\u00f3\u0142bie\u017cnych i z\u0142o\u017conych przep\u0142yw\u00f3w danych. Most mi\u0119dzy abstrakcyjnymi wymaganiami biznesowymi a konkretn\u0105 implementacj\u0105 techniczn\u0105 wymaga standardowego, jednoznacznego \u015brodka komunikacji. J\u0119zyk Modelowania Unifikowanego (UML) pe\u0142ni rol\u0119 tego uniwersalnego projektu, zapewniaj\u0105c wizualny s\u0142ownictwo, kt\u00f3re mog\u0105 dzieli\u0107 si\u0119 programi\u015bci, architekci i stakeholderzy na [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":11652,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_lmt_disableupdate":"no","_lmt_disable":"","footnotes":""},"categories":[36],"tags":[],"class_list":["post-11651","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","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>Architektura z jasno\u015bci\u0105: Kompleksowa studium przypadku dotycz\u0105ca element\u00f3w buduj\u0105cych UML - Visual Paradigm Blog<\/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\/pl\/architecting-with-clarity-a-comprehensive-case-study-on-uml-building-blocks\/\" \/>\n<meta property=\"og:locale\" content=\"pl_PL\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Architektura z jasno\u015bci\u0105: Kompleksowa studium przypadku dotycz\u0105ca element\u00f3w buduj\u0105cych UML - Visual Paradigm Blog\" \/>\n<meta property=\"og:description\" content=\"Wprowadzenie Nowoczesne systemy oprogramowania s\u0105 z natury skomplikowane, z\u0142o\u017cone z setek wzajemnie wsp\u00f3\u0142pracuj\u0105cych komponent\u00f3w, proces\u00f3w wsp\u00f3\u0142bie\u017cnych i z\u0142o\u017conych przep\u0142yw\u00f3w danych. Most mi\u0119dzy abstrakcyjnymi wymaganiami biznesowymi a konkretn\u0105 implementacj\u0105 techniczn\u0105 wymaga standardowego, jednoznacznego \u015brodka komunikacji. J\u0119zyk Modelowania Unifikowanego (UML) pe\u0142ni rol\u0119 tego uniwersalnego projektu, zapewniaj\u0105c wizualny s\u0142ownictwo, kt\u00f3re mog\u0105 dzieli\u0107 si\u0119 programi\u015bci, architekci i stakeholderzy na [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/blog.visual-paradigm.com\/pl\/architecting-with-clarity-a-comprehensive-case-study-on-uml-building-blocks\/\" \/>\n<meta property=\"og:site_name\" content=\"Visual Paradigm Blog\" \/>\n<meta property=\"article:published_time\" content=\"2026-05-22T09:42:53+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-05-30T06:06:18+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/05\/img_6a10246416fac.png\" \/><meta property=\"og:image\" content=\"https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/05\/img_6a10246416fac.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1187\" \/>\n\t<meta property=\"og:image:height\" content=\"648\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Admin\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:image\" content=\"https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/05\/img_6a10246416fac.png\" \/>\n<meta name=\"twitter:label1\" content=\"Napisane przez\" \/>\n\t<meta name=\"twitter:data1\" content=\"Admin\" \/>\n\t<meta name=\"twitter:label2\" content=\"Szacowany czas czytania\" \/>\n\t<meta name=\"twitter:data2\" content=\"7 minut\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/blog.visual-paradigm.com\/pl\/architecting-with-clarity-a-comprehensive-case-study-on-uml-building-blocks\/\",\"url\":\"https:\/\/blog.visual-paradigm.com\/pl\/architecting-with-clarity-a-comprehensive-case-study-on-uml-building-blocks\/\",\"name\":\"Architektura z jasno\u015bci\u0105: Kompleksowa studium przypadku dotycz\u0105ca element\u00f3w buduj\u0105cych UML - Visual Paradigm Blog\",\"isPartOf\":{\"@id\":\"https:\/\/blog.visual-paradigm.com\/pl\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/blog.visual-paradigm.com\/pl\/architecting-with-clarity-a-comprehensive-case-study-on-uml-building-blocks\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/blog.visual-paradigm.com\/pl\/architecting-with-clarity-a-comprehensive-case-study-on-uml-building-blocks\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/blog.visual-paradigm.com\/pl\/wp-content\/uploads\/sites\/15\/2026\/05\/img_6a10246416fac.png\",\"datePublished\":\"2026-05-22T09:42:53+00:00\",\"dateModified\":\"2026-05-30T06:06:18+00:00\",\"author\":{\"@id\":\"https:\/\/blog.visual-paradigm.com\/pl\/#\/schema\/person\/a649c442f11a53040710ddec750926c6\"},\"breadcrumb\":{\"@id\":\"https:\/\/blog.visual-paradigm.com\/pl\/architecting-with-clarity-a-comprehensive-case-study-on-uml-building-blocks\/#breadcrumb\"},\"inLanguage\":\"pl-PL\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/blog.visual-paradigm.com\/pl\/architecting-with-clarity-a-comprehensive-case-study-on-uml-building-blocks\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"pl-PL\",\"@id\":\"https:\/\/blog.visual-paradigm.com\/pl\/architecting-with-clarity-a-comprehensive-case-study-on-uml-building-blocks\/#primaryimage\",\"url\":\"https:\/\/blog.visual-paradigm.com\/pl\/wp-content\/uploads\/sites\/15\/2026\/05\/img_6a10246416fac.png\",\"contentUrl\":\"https:\/\/blog.visual-paradigm.com\/pl\/wp-content\/uploads\/sites\/15\/2026\/05\/img_6a10246416fac.png\",\"width\":1187,\"height\":648},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/blog.visual-paradigm.com\/pl\/architecting-with-clarity-a-comprehensive-case-study-on-uml-building-blocks\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/blog.visual-paradigm.com\/pl\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Architektura z jasno\u015bci\u0105: Kompleksowa studium przypadku dotycz\u0105ca element\u00f3w buduj\u0105cych UML\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/blog.visual-paradigm.com\/pl\/#website\",\"url\":\"https:\/\/blog.visual-paradigm.com\/pl\/\",\"name\":\"Visual Paradigm Blog\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/blog.visual-paradigm.com\/pl\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"pl-PL\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/blog.visual-paradigm.com\/pl\/#\/schema\/person\/a649c442f11a53040710ddec750926c6\",\"name\":\"Admin\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pl-PL\",\"@id\":\"https:\/\/blog.visual-paradigm.com\/pl\/#\/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\/pl\/author\/vpadminuser\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Architektura z jasno\u015bci\u0105: Kompleksowa studium przypadku dotycz\u0105ca element\u00f3w buduj\u0105cych UML - Visual Paradigm Blog","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\/pl\/architecting-with-clarity-a-comprehensive-case-study-on-uml-building-blocks\/","og_locale":"pl_PL","og_type":"article","og_title":"Architektura z jasno\u015bci\u0105: Kompleksowa studium przypadku dotycz\u0105ca element\u00f3w buduj\u0105cych UML - Visual Paradigm Blog","og_description":"Wprowadzenie Nowoczesne systemy oprogramowania s\u0105 z natury skomplikowane, z\u0142o\u017cone z setek wzajemnie wsp\u00f3\u0142pracuj\u0105cych komponent\u00f3w, proces\u00f3w wsp\u00f3\u0142bie\u017cnych i z\u0142o\u017conych przep\u0142yw\u00f3w danych. Most mi\u0119dzy abstrakcyjnymi wymaganiami biznesowymi a konkretn\u0105 implementacj\u0105 techniczn\u0105 wymaga standardowego, jednoznacznego \u015brodka komunikacji. J\u0119zyk Modelowania Unifikowanego (UML) pe\u0142ni rol\u0119 tego uniwersalnego projektu, zapewniaj\u0105c wizualny s\u0142ownictwo, kt\u00f3re mog\u0105 dzieli\u0107 si\u0119 programi\u015bci, architekci i stakeholderzy na [&hellip;]","og_url":"https:\/\/blog.visual-paradigm.com\/pl\/architecting-with-clarity-a-comprehensive-case-study-on-uml-building-blocks\/","og_site_name":"Visual Paradigm Blog","article_published_time":"2026-05-22T09:42:53+00:00","article_modified_time":"2026-05-30T06:06:18+00:00","og_image":[{"url":"https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/05\/img_6a10246416fac.png","type":"","width":"","height":""},{"width":1187,"height":648,"url":"https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/05\/img_6a10246416fac.png","type":"image\/png"}],"author":"Admin","twitter_card":"summary_large_image","twitter_image":"https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/05\/img_6a10246416fac.png","twitter_misc":{"Napisane przez":"Admin","Szacowany czas czytania":"7 minut"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/blog.visual-paradigm.com\/pl\/architecting-with-clarity-a-comprehensive-case-study-on-uml-building-blocks\/","url":"https:\/\/blog.visual-paradigm.com\/pl\/architecting-with-clarity-a-comprehensive-case-study-on-uml-building-blocks\/","name":"Architektura z jasno\u015bci\u0105: Kompleksowa studium przypadku dotycz\u0105ca element\u00f3w buduj\u0105cych UML - Visual Paradigm Blog","isPartOf":{"@id":"https:\/\/blog.visual-paradigm.com\/pl\/#website"},"primaryImageOfPage":{"@id":"https:\/\/blog.visual-paradigm.com\/pl\/architecting-with-clarity-a-comprehensive-case-study-on-uml-building-blocks\/#primaryimage"},"image":{"@id":"https:\/\/blog.visual-paradigm.com\/pl\/architecting-with-clarity-a-comprehensive-case-study-on-uml-building-blocks\/#primaryimage"},"thumbnailUrl":"https:\/\/blog.visual-paradigm.com\/pl\/wp-content\/uploads\/sites\/15\/2026\/05\/img_6a10246416fac.png","datePublished":"2026-05-22T09:42:53+00:00","dateModified":"2026-05-30T06:06:18+00:00","author":{"@id":"https:\/\/blog.visual-paradigm.com\/pl\/#\/schema\/person\/a649c442f11a53040710ddec750926c6"},"breadcrumb":{"@id":"https:\/\/blog.visual-paradigm.com\/pl\/architecting-with-clarity-a-comprehensive-case-study-on-uml-building-blocks\/#breadcrumb"},"inLanguage":"pl-PL","potentialAction":[{"@type":"ReadAction","target":["https:\/\/blog.visual-paradigm.com\/pl\/architecting-with-clarity-a-comprehensive-case-study-on-uml-building-blocks\/"]}]},{"@type":"ImageObject","inLanguage":"pl-PL","@id":"https:\/\/blog.visual-paradigm.com\/pl\/architecting-with-clarity-a-comprehensive-case-study-on-uml-building-blocks\/#primaryimage","url":"https:\/\/blog.visual-paradigm.com\/pl\/wp-content\/uploads\/sites\/15\/2026\/05\/img_6a10246416fac.png","contentUrl":"https:\/\/blog.visual-paradigm.com\/pl\/wp-content\/uploads\/sites\/15\/2026\/05\/img_6a10246416fac.png","width":1187,"height":648},{"@type":"BreadcrumbList","@id":"https:\/\/blog.visual-paradigm.com\/pl\/architecting-with-clarity-a-comprehensive-case-study-on-uml-building-blocks\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/blog.visual-paradigm.com\/pl\/"},{"@type":"ListItem","position":2,"name":"Architektura z jasno\u015bci\u0105: Kompleksowa studium przypadku dotycz\u0105ca element\u00f3w buduj\u0105cych UML"}]},{"@type":"WebSite","@id":"https:\/\/blog.visual-paradigm.com\/pl\/#website","url":"https:\/\/blog.visual-paradigm.com\/pl\/","name":"Visual Paradigm Blog","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/blog.visual-paradigm.com\/pl\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"pl-PL"},{"@type":"Person","@id":"https:\/\/blog.visual-paradigm.com\/pl\/#\/schema\/person\/a649c442f11a53040710ddec750926c6","name":"Admin","image":{"@type":"ImageObject","inLanguage":"pl-PL","@id":"https:\/\/blog.visual-paradigm.com\/pl\/#\/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\/pl\/author\/vpadminuser\/"}]}},"modified_by":"vpjick","_links":{"self":[{"href":"https:\/\/blog.visual-paradigm.com\/pl\/wp-json\/wp\/v2\/posts\/11651","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.visual-paradigm.com\/pl\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.visual-paradigm.com\/pl\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.visual-paradigm.com\/pl\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.visual-paradigm.com\/pl\/wp-json\/wp\/v2\/comments?post=11651"}],"version-history":[{"count":0,"href":"https:\/\/blog.visual-paradigm.com\/pl\/wp-json\/wp\/v2\/posts\/11651\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/blog.visual-paradigm.com\/pl\/wp-json\/wp\/v2\/media\/11652"}],"wp:attachment":[{"href":"https:\/\/blog.visual-paradigm.com\/pl\/wp-json\/wp\/v2\/media?parent=11651"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.visual-paradigm.com\/pl\/wp-json\/wp\/v2\/categories?post=11651"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.visual-paradigm.com\/pl\/wp-json\/wp\/v2\/tags?post=11651"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}