{"id":2263,"date":"2026-08-04T10:53:03","date_gmt":"2026-08-04T10:53:03","guid":{"rendered":"https:\/\/www.vpascode.com\/pl\/is-uml-diagram-only-for-oop-myths-vs-modern-uses\/"},"modified":"2026-08-04T10:53:03","modified_gmt":"2026-08-04T10:53:03","slug":"is-uml-diagram-only-for-oop-myths-vs-modern-uses","status":"publish","type":"post","link":"https:\/\/www.vpascode.com\/pl\/is-uml-diagram-only-for-oop-myths-vs-modern-uses\/","title":{"rendered":"Czy diagramy UML s\u0105 przeznaczone wy\u0142\u0105cznie dla programowania obiektowego? Mity versus wsp\u00f3\u0142czesne zastosowania"},"content":{"rendered":"<p><strong>Nie, diagramy UML (Zstandaryzowanego J\u0119zyka Modelowania) nie s\u0105 przeznaczone wy\u0142\u0105cznie dla programowania obiektowego (OOP).<\/strong>Chocia\u017c UML zosta\u0142 pierwotnie zaprojektowany z my\u015bl\u0105 o zasadach programowania obiektowego, ewoluowa\u0142 w wszechstronny standard wizualizacji system\u00f3w w ramach wsp\u00f3\u0142czesnych paradygmat\u00f3w oprogramowania, w tym programowania funkcyjnego, projektowania baz danych relacyjnych, mikroserwis\u00f3w i infrastruktury DevOps. Zrozumienie, jak u\u017cywa\u0107 UML poza tradycyjnym OOP, pozwala zespo\u0142om deweloperskim na efektywne dokumentowanie z\u0142o\u017conych architektur oprogramowania, wykorzystuj\u0105c nowoczesne praktyki, takie jak<a href=\"https:\/\/www.vpascode.com\/\" rel=\"noopener\" target=\"_blank\">Diagram jako kod<\/a>.<\/p>\n<p><img fetchpriority=\"high\" alt=\"A modern hero banner graphic showing a diverse team of software professionals collaborating with various interconnected UML diagrams, including sequence, class, and activity diagrams. Text at the top states &quot;UML DIAGRAMS: NOT JUST FOR OOP: Modern Software Design for ALL Paradigms.&quot; Floating icons symbolize different concepts like microservices, databases, and functional programming, illustrating UML's broad applicability.\" class=\"alignnone size-full wp-image-1800\" decoding=\"async\" fetchpriority=\"high\" height=\"816\" sizes=\"(max-width: 1312px) 100vw, 1312px\" src=\"https:\/\/www.vpascode.com\/wp-content\/uploads\/2026\/08\/modern-software-design-with-uml-diagrams.jpg\" srcset=\"https:\/\/www.vpascode.com\/wp-content\/uploads\/2026\/08\/modern-software-design-with-uml-diagrams.jpg 1312w, https:\/\/www.vpascode.com\/wp-content\/uploads\/2026\/08\/modern-software-design-with-uml-diagrams-300x187.jpg 300w, https:\/\/www.vpascode.com\/wp-content\/uploads\/2026\/08\/modern-software-design-with-uml-diagrams-1024x637.jpg 1024w, https:\/\/www.vpascode.com\/wp-content\/uploads\/2026\/08\/modern-software-design-with-uml-diagrams-768x478.jpg 768w\" width=\"1312\"\/><\/p>\n<h2>B\u0142\u0119dne przekonanie: Dlaczego UML jest \u015bci\u015ble kojarzone z OOP<\/h2>\n<p>Przekonanie, \u017ce UML jest przeznaczone wy\u0142\u0105cznie dla OOP, wynika z jego historii. Utworzone w po\u0142owie lat 90. przez Grady&#8217;ego Boocha, Ivara Jacobsona i Jamesa Rumbaucha (\u201eTrzech Amigos\u00f3w\u201d), UML zjednoczy\u0142o kilka metod modelowania obiektowego. W rezultacie podstawowe struktury wizualne UML, takie jak diagramy klas i strza\u0142ki dziedziczenia, odzwierciedlaj\u0105 kluczowe konstrukcje OOP, takie jak klasy, interfejsy i polimorfizm.<\/p>\n<p>Jednak ograniczanie UML wy\u0142\u0105cznie do OOP ignoruje ponad po\u0142ow\u0119 specyfikacji UML. UML 2.5 definiuje 14 odr\u0119bnych typ\u00f3w diagram\u00f3w sklasyfikowanych w dwie g\u0142\u00f3wne grupy:<\/p>\n<ul>\n<li><strong>Diagramy strukturalne:<\/strong>Reprezentuj\u0105 statyczne aspekty systemu (np. diagramy klas, komponent\u00f3w, wdro\u017ce\u0144 i pakiet\u00f3w).<\/li>\n<li><strong>Diagramy behawioralne:<\/strong>Reprezentuj\u0105 dynamiczne interakcje i zmiany stanu (np. diagramy sekwencji, aktywno\u015bci, maszyn stan\u00f3w i przypadk\u00f3w u\u017cycia).<\/li>\n<\/ul>\n<p>Chocia\u017c diagramy strukturalne, takie jak diagramy klas, \u015bci\u015ble odpowiadaj\u0105 kodowi OOP, diagramy behawioralne opisuj\u0105 logik\u0119 przep\u0142ywu pracy, komunikacj\u0119 sieciow\u0105 i kolejno\u015b\u0107 wykonywania \u2013 koncepcje wsp\u00f3lne dla<em>wszystkich<\/em>paradygmat\u00f3w oprogramowania.<\/p>\n<h2>Poza OOP: Jak paradygmaty nieobjektowe wykorzystuj\u0105 UML<\/h2>\n<p>In\u017cynierowie rutynowo stosuj\u0105 UML do rozwi\u0105zywania problem\u00f3w z wizualn\u0105 dokumentacj\u0105 w ramach nieobjektowych framework\u00f3w i nowoczesnych stos\u00f3w technologicznych.<\/p>\n<h3>1. Programowanie funkcyjne i proceduralne<\/h3>\n<p>Programowanie funkcyjne k\u0142adzie nacisk na niezmienne dane i czyste potoki funkcji, a nie na obiekty. Mo\u017cesz \u0142atwo odwzorowa\u0107 te systemy, u\u017cywaj\u0105c specyficznych diagram\u00f3w behawioralnych UML:<\/p>\n<ul>\n<li><strong>Diagramy aktywno\u015bci:<\/strong>Modeluj\u0105 przep\u0142yw danych przez czyste funkcje, warunki rozga\u0142\u0119zienia i strumienie przetwarzania r\u00f3wnoleg\u0142ego.<\/li>\n<li><strong>Diagramy sekwencji:<\/strong>Ilustruj\u0105 stosy wywo\u0142a\u0144 funkcji, asynchroniczn\u0105 wymian\u0119 wiadomo\u015bci i kolejno\u015b\u0107 wykonywania zdarze\u0144, bez zak\u0142adania istnienia podstawowych instancji obiekt\u00f3w.<\/li>\n<\/ul>\n<h3>2. Projektowanie baz danych i modelowanie relacji encji<\/h3>\n<p>Bazy danych relacyjnych opieraj\u0105 si\u0119 na algebrze relacyjnej, a nie na dziedziczeniu obiekt\u00f3w. Mimo to notacja klas i obiekt\u00f3w UML dzia\u0142a bezproblemowo w architekturze schematu:<\/p>\n<table>\n<thead>\n<tr>\n<th>Element UML<\/th>\n<th>Odpowiednik w bazie danych<\/th>\n<th>Aplikacja<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>Klasa<\/td>\n<td>Tabela w bazie danych<\/td>\n<td>Okre\u015bla struktur\u0119 schematu<\/td>\n<\/tr>\n<tr>\n<td>Atrybut<\/td>\n<td>Kolumna \/ Pole<\/td>\n<td>Okre\u015bla typy danych i ograniczenia<\/td>\n<\/tr>\n<tr>\n<td>Asocjacja<\/td>\n<td>Relacja klucza obcego<\/td>\n<td>Mapuje po\u0142\u0105czenia tabel 1:1, 1:N oraz N:M<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h3>3. Mikroserwisy, DevOps i architektura systemu<\/h3>\n<p>Wsp\u00f3\u0142czesne architektury mikroserwis\u00f3w \u0142\u0105cz\u0105 wiele j\u0119zyk\u00f3w \u2014 Go, Rust, Node.js i Python \u2014 w systemy rozproszone. Diagramy UML na poziomie systemu ca\u0142kowicie abstrahuj\u0105 szczeg\u00f3\u0142y kodu:<\/p>\n<ul>\n<li><strong>Diagramy komponent\u00f3w:<\/strong>Okre\u015blaj\u0105 bramy API, kolejki wiadomo\u015bci (Kafka, RabbitMQ) oraz granice mikroserwis\u00f3w.<\/li>\n<li><strong>Diagramy wdro\u017cenia:<\/strong>Mapuj\u0105 zasoby chmurowe, kontenery Docker, w\u0119z\u0142y Kubernetes oraz potoki CI\/CD.<\/li>\n<\/ul>\n<h2>Nowoczesne UML: Przej\u015bcie od r\u0119cznego rysowania do diagram\u00f3w jako kodu<\/h2>\n<p>Tradycyjne narz\u0119dzia do rysowania metod\u0105 przeci\u0105gnij i upu\u015b\u0107 cz\u0119sto powoduj\u0105 op\u00f3\u017anienia w dokumentacji \u2014 diagramy szybko staj\u0105 si\u0119 przestarza\u0142e w miar\u0119 ewolucji baz kodu. Wsp\u00f3\u0142czesne zespo\u0142y in\u017cynieryjne rozwi\u0105zuj\u0105 ten problem, przyjmuj\u0105c<strong>Diagram jako kod<\/strong>i pisz\u0105c skrypty w formacie tekstowym, kt\u00f3re renderuj\u0105 si\u0119 do dynamicznych diagram\u00f3w i s\u0105 przechowywane bezpo\u015brednio w repozytoriach kontroli wersji.<\/p>\n<h3>1. Deklaracyjne tworzenie diagram\u00f3w z u\u017cyciem PlantUML, Mermaid i D2<\/h3>\n<p>Korzystaj\u0105c z j\u0119zyk\u00f3w specyficznych dla domeny (DSL), takich jak PlantUML, Mermaid lub D2, programi\u015bci mog\u0105 deklarowa\u0107 relacje za pomoc\u0105 prostego sk\u0142adni:<\/p>\n<div class=\"vpascode-viewer-container vpascode-fancy-active\">\n<div class=\"vpascode-header\">\n<span class=\"vpascode-lang-label\">PlantUML<\/span>\n<a class=\"vpascode-fancy-btn\" href=\"https:\/\/www.vpascode.com\/editor\/#plantuml:NO_12i8m343lWVv3s7qe7dUGYGSP7ZROz1xMeCNQZJPJ_7lRuM1u2u-N5r868I_JqogWNWQFby1UmHYXwSr8JZ0xD1MUIFXDdmmfBFE_DSaTM_Olq_Ei9Q10GIfYlb_M2cpgjiED7Mx6AVZH9AI50gzaZOuGZvurEp5aWuAvdgyhtV1WXrK84-jL9YhfO86xxHRhiuAIdOx_VG40\" rel=\"noopener noreferrer\" target=\"_blank\">\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>\n<span>Edytuj PlantUML w VPasCode<\/span>\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\/editor\/#plantuml:LOyz2y8m48Rt-nL7zs9np20L1oaEBRIw7ysXCJ61V2ZwwssaHHtllUUUuwr391_JpG3fw3mU0tj8uuj3j4fZiUqQt5Fa1pqBl99so_G7fNZ1dlrTZJnJEGB8DYmtout0hkq7N1btLXRcCEypBV14Hiafn9rdoJOgCW4-xlBNCJZD5fiG4iklP2BoDu7hgiBs03LRETLw0m00\" \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=\"language-plantuml\"><code class=\"language-plantuml\" data-language=\"plantuml\" class=\"language-plantuml\">@startuml\naktor User\nuczestnik \"API Gateway\" jako Gateway\nuczestnik \"Auth Service\" jako Auth\n\nUser -&gt; Gateway: POST \/login\nGateway -&gt; Auth: Validate Credentials\nAuth --&gt; Gateway: Token Issued\nGateway --&gt; User: 200 OK\n@enduml<\/code><\/pre>                <\/div>\r\n                <div class=\"vpascode-actions\">\r\n                    <a href=\"https:\/\/www.vpascode.com\/editor\/#plantuml:LOyz2y8m48Rt-nL7zs9np20L1oaEBRIw7ysXCJ61V2ZwwssaHHtllUUUuwr391_JpG3fw3mU0tj8uuj3j4fZiUqQt5Fa1pqBl99so_G7fNZ1dlrTZJnJEGB8DYmtout0hkq7N1btLXRcCEypBV14Hiafn9rdoJOgCW4-xlBNCJZD5fiG4iklP2BoDu7hgiBs03LRETLw0m00\" \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             <\/div>\n<div class=\"vpascode-actions\">\n<a class=\"vpascode-fancy-btn\" href=\"https:\/\/www.vpascode.com\/editor\/#plantuml:NO_12i8m343lWVv3s7qe7dUGYGSP7ZROz1xMeCNQZJPJ_7lRuM1u2u-N5r868I_JqogWNWQFby1UmHYXwSr8JZ0xD1MUIFXDdmmfBFE_DSaTM_Olq_Ei9Q10GIfYlb_M2cpgjiED7Mx6AVZH9AI50gzaZOuGZvurEp5aWuAvdgyhtV1WXrK84-jL9YhfO86xxHRhiuAIdOx_VG40\" rel=\"noopener noreferrer\" target=\"_blank\">\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>\n<span>Edytuj PlantUML w VPasCode<\/span>\n<\/a>\n<\/div>\n<\/div>\n<p>To podej\u015bcie oparte na tek\u015bcie pozwala na przegl\u0105danie dokumentacji wizualnej jako kodu, \u015bledzenie wersji oraz edycj\u0119 tak szybko, jak samego kodu.<\/p>\n<p id=\"FUJSdrD\"><img alt=\"The code of Sequence Diagram being edited in Visual Paradigm's VPasCode editor\" class=\"alignnone wp-image-1805 size-full\" decoding=\"async\" height=\"745\" sizes=\"(max-width: 1192px) 100vw, 1192px\" src=\"https:\/\/www.vpascode.com\/wp-content\/uploads\/2026\/08\/img_6a71c3729982d.png\" srcset=\"https:\/\/www.vpascode.com\/wp-content\/uploads\/2026\/08\/img_6a71c3729982d.png 1192w, https:\/\/www.vpascode.com\/wp-content\/uploads\/2026\/08\/img_6a71c3729982d-300x188.png 300w, https:\/\/www.vpascode.com\/wp-content\/uploads\/2026\/08\/img_6a71c3729982d-1024x640.png 1024w, https:\/\/www.vpascode.com\/wp-content\/uploads\/2026\/08\/img_6a71c3729982d-768x480.png 768w\" width=\"1192\"\/><\/p>\n<h3>2. Uproszczenie wizualizacji wieloparadygmatowych dzi\u0119ki VPasCode<\/h3>\n<p>Pracuj\u0105c w r\u00f3\u017cnych paradygmatach, zarz\u0105dzanie wieloma lokalnymi kompilatorami i konfiguracj\u0105 sk\u0142adni mo\u017ce wprowadza\u0107 trudno\u015bci.<a href=\"https:\/\/www.vpascode.com\/\" rel=\"noopener\" target=\"_blank\">Visual Paradigm VPasCode<\/a>usuwa t\u0119 barier\u0119, zapewniaj\u0105c zintegrowany online edytor Diagram jako kod oraz renderowanie w czasie rzeczywistym.<\/p>\n<p>Niezale\u017cnie od tego, czy tworzysz diagramy sekwencji PlantUML dla mikroserwis\u00f3w, diagramy przep\u0142ywu Mermaid dla potok\u00f3w funkcjonalnych, czy wykresy Graphviz dla schemat\u00f3w baz danych, VPasCode oferuje pot\u0119\u017cne funkcje od razu:<\/p>\n<ul>\n<li><strong>Automatyczne wykrywanie formatu:<\/strong>Wklej surowy kod PlantUML, Mermaid, D2 lub Graphviz \u2014 VPasCode automatycznie identyfikuje j\u0119zyk i renderuje go natychmiast.<\/li>\n<li><strong>Naprawianie kodu wspierane przez AI:<\/strong>B\u0142\u0119dy sk\u0142adni s\u0105 rozwi\u0105zywane natychmiast za pomoc\u0105 funkcji<em>&#8220;Napraw przez AI&#8221;<\/em>, kt\u00f3ra zawiera por\u00f3wnania kodu obok siebie, aby pom\u00f3c Ci szybciej przyswoi\u0107 sk\u0142adni\u0119.<\/li>\n<li><strong>T\u0142umaczenie natywne:<\/strong>T\u0142umacz etykiety diagram\u00f3w natychmiast na wiele j\u0119zyk\u00f3w bezpo\u015brednio w edytorze.<\/li>\n<li><strong>Eksport i udost\u0119pnianie wektorowe:<\/strong>Eksportuj czyste pliki SVG\/PNG lub udost\u0119pniaj dynamiczne adresy URL i kody QR bezpo\u015brednio zespo\u0142owi.<\/li>\n<\/ul>\n<h2>Praktyczny przewodnik: Wyb\u00f3r odpowiednich diagram\u00f3w UML dla projekt\u00f3w nieobiektowych<\/h2>\n<p>Aby unikn\u0105\u0107 nadmiernego in\u017cynieryjnego komplikowania dokumentacji wizualnej, wybierz typy diagram\u00f3w w oparciu o g\u0142\u00f3wne wyzwanie projektowe:<\/p>\n<ul>\n<li><strong>Je\u015bli musisz odwzorowa\u0107 logik\u0119 biznesow\u0105 lub przep\u0142ywy pracy:<\/strong>U\u017cyj<em>Diagram\u00f3w aktywno\u015bci<\/em>lub<em>Diagram\u00f3w przep\u0142ywu Mermaid<\/em>.<\/li>\n<li><strong>Je\u015bli musisz szczeg\u00f3\u0142owo opisa\u0107 punkty ko\u0144cowe API lub zdarzenia asynchroniczne:<\/strong>U\u017cyj<em>Diagram\u00f3w sekwencji<\/em>.<\/li>\n<li><strong>Je\u015bli musisz zamodelowa\u0107 wdro\u017cenia systemu lub infrastruktur\u0119 chmurow\u0105:<\/strong>U\u017cyj<em>Diagram\u00f3w wdro\u017cenia<\/em>lub<em>Diagram\u00f3w architektury C4<\/em>.<\/li>\n<li><strong>Je\u015bli musisz zaplanowa\u0107 schematy relacyjne:<\/strong>U\u017cyj<em>Diagram\u00f3w ER UML<\/em> lub <em>Diagramy klas PlantUML<\/em> dostosowane do tabel.<\/li>\n<\/ul>\n<h2>Najcz\u0119\u015bciej zadawane pytania (FAQ)<\/h2>\n<h3>Czy mog\u0119 u\u017cywa\u0107 diagram\u00f3w UML dla j\u0119zyk\u00f3w programowania funkcyjnego, takich jak Haskell czy Erlang?<\/h3>\n<p>Tak. Zachowawcze diagramy UML (takie jak diagramy sekwencji i aktywno\u015bci) modeluj\u0105 przep\u0142yw wykonywania, zmiany stanu i obs\u0142ug\u0119 zdarze\u0144 niezale\u017cnie od tego, czy podstawowy kod u\u017cywa klas, czy czystych funkcji.<\/p>\n<h3>Jaka jest r\u00f3\u017cnica mi\u0119dzy diagramami UML a diagramami ER w modelowaniu baz danych?<\/h3>\n<p>Diagramy ER (Encja-Zale\u017cno\u015b\u0107) specyficznie modeluj\u0105 encje i relacje bazodanowe. Diagramy klas UML oferuj\u0105 szerszy sk\u0142adni\u0119, kt\u00f3ra mo\u017ce modelowa\u0107 tabele bazodanowe, jednocze\u015bnie p\u0142ynnie rozszerzaj\u0105c si\u0119 na logik\u0119 aplikacji i kontrakty API.<\/p>\n<h3>Jaki jest najszybszy spos\u00f3b renderowania diagram\u00f3w UML z kodu tekstowego?<\/h3>\n<p>Mo\u017cesz u\u017cy\u0107 darmowego edytora online bez konieczno\u015bci konfiguracji, takiego jak VPasCode. Automatycznie wykrywa formaty kodu PlantUML, Mermaid i D2 oraz natychmiast renderuje obrazy SVG\/PNG w Twojej przegl\u0105darce.<\/p>\n<p>Wypr\u00f3buj VPasCode ju\u017c teraz na: <a href=\"https:\/\/www.vpascode.com\/editor\/\">https:\/\/www.vpascode.com\/editor\/<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"Nie, diagramy UML (Zstandaryzowanego J\u0119zyka Modelowania) nie s\u0105 przeznaczone wy\u0142\u0105cznie dla programowania obiektowego (OOP).Chocia\u017c UML zosta\u0142 pierwotnie zaprojektowany z my\u015bl\u0105 o zasadach programowania obiektowego, ewoluowa\u0142 w wszechstronny standard wizualizacji system\u00f3w w ramach wsp\u00f3\u0142czesnych paradygmat\u00f3w oprogramowania, w tym programowania funkcyjnego, projektowania&#8230;","protected":false},"author":4,"featured_media":2264,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_yoast_wpseo_title":"Is UML Diagram Only for OOP? Myths vs Modern Uses","_yoast_wpseo_metadesc":"Learn why UML diagrams are not just for OOP. Discover how functional code, databases, and microservices use UML, plus modern Diagram as Code tools.","inline_featured_image":false,"site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"default","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"set","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"source_url":"","fifu_image_url":"","fifu_image_alt":"","_fifu_image_alt":"","fifu_alt":"","_fifu_alt":"","fifu_image_title":"","_fifu_image_title":"","fifu_input_alt":"","vp_image_hash":"","footnotes":""},"categories":[22],"tags":[],"asset-category":[],"class_list":["post-2263","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-insights"],"source_url":"","fifu_image_url":"","fifu_image_alt":"","vp_image_hash":"","yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.6 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Is UML Diagram Only for OOP? Myths vs Modern Uses<\/title>\n<meta name=\"description\" content=\"Learn why UML diagrams are not just for OOP. Discover how functional code, databases, and microservices use UML, plus modern Diagram as Code tools.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.vpascode.com\/pl\/is-uml-diagram-only-for-oop-myths-vs-modern-uses\/\" \/>\n<meta property=\"og:locale\" content=\"pl_PL\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Is UML Diagram Only for OOP? Myths vs Modern Uses\" \/>\n<meta property=\"og:description\" content=\"Learn why UML diagrams are not just for OOP. Discover how functional code, databases, and microservices use UML, plus modern Diagram as Code tools.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.vpascode.com\/pl\/is-uml-diagram-only-for-oop-myths-vs-modern-uses\/\" \/>\n<meta property=\"og:site_name\" content=\"VPasCode\" \/>\n<meta property=\"article:published_time\" content=\"2026-08-04T10:53:03+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.vpascode.com\/pl\/wp-content\/uploads\/sites\/9\/2026\/08\/modern-software-design-with-uml-diagrams-2.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1312\" \/>\n\t<meta property=\"og:image:height\" content=\"816\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"jick\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Napisane przez\" \/>\n\t<meta name=\"twitter:data1\" content=\"\" \/>\n\t<meta name=\"twitter:label2\" content=\"Szacowany czas czytania\" \/>\n\t<meta name=\"twitter:data2\" content=\"5 minut\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.vpascode.com\\\/pl\\\/is-uml-diagram-only-for-oop-myths-vs-modern-uses\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.vpascode.com\\\/pl\\\/is-uml-diagram-only-for-oop-myths-vs-modern-uses\\\/\"},\"author\":{\"name\":\"jick\",\"@id\":\"https:\\\/\\\/www.vpascode.com\\\/pl\\\/#\\\/schema\\\/person\\\/cd8aa8455bd8bc6827b3efdfa79ad3a6\"},\"headline\":\"Czy diagramy UML s\u0105 przeznaczone wy\u0142\u0105cznie dla programowania obiektowego? Mity versus wsp\u00f3\u0142czesne zastosowania\",\"datePublished\":\"2026-08-04T10:53:03+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.vpascode.com\\\/pl\\\/is-uml-diagram-only-for-oop-myths-vs-modern-uses\\\/\"},\"wordCount\":1099,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/www.vpascode.com\\\/pl\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/www.vpascode.com\\\/pl\\\/is-uml-diagram-only-for-oop-myths-vs-modern-uses\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.vpascode.com\\\/pl\\\/wp-content\\\/uploads\\\/sites\\\/9\\\/2026\\\/08\\\/modern-software-design-with-uml-diagrams-2.jpg\",\"articleSection\":[\"Insights\"],\"inLanguage\":\"pl-PL\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.vpascode.com\\\/pl\\\/is-uml-diagram-only-for-oop-myths-vs-modern-uses\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.vpascode.com\\\/pl\\\/is-uml-diagram-only-for-oop-myths-vs-modern-uses\\\/\",\"url\":\"https:\\\/\\\/www.vpascode.com\\\/pl\\\/is-uml-diagram-only-for-oop-myths-vs-modern-uses\\\/\",\"name\":\"Is UML Diagram Only for OOP? Myths vs Modern Uses\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.vpascode.com\\\/pl\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.vpascode.com\\\/pl\\\/is-uml-diagram-only-for-oop-myths-vs-modern-uses\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.vpascode.com\\\/pl\\\/is-uml-diagram-only-for-oop-myths-vs-modern-uses\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.vpascode.com\\\/pl\\\/wp-content\\\/uploads\\\/sites\\\/9\\\/2026\\\/08\\\/modern-software-design-with-uml-diagrams-2.jpg\",\"datePublished\":\"2026-08-04T10:53:03+00:00\",\"description\":\"Learn why UML diagrams are not just for OOP. Discover how functional code, databases, and microservices use UML, plus modern Diagram as Code tools.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.vpascode.com\\\/pl\\\/is-uml-diagram-only-for-oop-myths-vs-modern-uses\\\/#breadcrumb\"},\"inLanguage\":\"pl-PL\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.vpascode.com\\\/pl\\\/is-uml-diagram-only-for-oop-myths-vs-modern-uses\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"pl-PL\",\"@id\":\"https:\\\/\\\/www.vpascode.com\\\/pl\\\/is-uml-diagram-only-for-oop-myths-vs-modern-uses\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.vpascode.com\\\/pl\\\/wp-content\\\/uploads\\\/sites\\\/9\\\/2026\\\/08\\\/modern-software-design-with-uml-diagrams-2.jpg\",\"contentUrl\":\"https:\\\/\\\/www.vpascode.com\\\/pl\\\/wp-content\\\/uploads\\\/sites\\\/9\\\/2026\\\/08\\\/modern-software-design-with-uml-diagrams-2.jpg\",\"width\":1312,\"height\":816},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.vpascode.com\\\/pl\\\/is-uml-diagram-only-for-oop-myths-vs-modern-uses\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.vpascode.com\\\/pl\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Czy diagramy UML s\u0105 przeznaczone wy\u0142\u0105cznie dla programowania obiektowego? Mity versus wsp\u00f3\u0142czesne zastosowania\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.vpascode.com\\\/pl\\\/#website\",\"url\":\"https:\\\/\\\/www.vpascode.com\\\/pl\\\/\",\"name\":\"VPasCode\",\"description\":\"by Visual Paradigm\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.vpascode.com\\\/pl\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.vpascode.com\\\/pl\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"pl-PL\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.vpascode.com\\\/pl\\\/#organization\",\"name\":\"VPasCode\",\"url\":\"https:\\\/\\\/www.vpascode.com\\\/pl\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pl-PL\",\"@id\":\"https:\\\/\\\/www.vpascode.com\\\/pl\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/www.vpascode.com\\\/pl\\\/wp-content\\\/uploads\\\/sites\\\/9\\\/2026\\\/06\\\/cropped-vp-online-logo-v1.png\",\"contentUrl\":\"https:\\\/\\\/www.vpascode.com\\\/pl\\\/wp-content\\\/uploads\\\/sites\\\/9\\\/2026\\\/06\\\/cropped-vp-online-logo-v1.png\",\"width\":128,\"height\":138,\"caption\":\"VPasCode\"},\"image\":{\"@id\":\"https:\\\/\\\/www.vpascode.com\\\/pl\\\/#\\\/schema\\\/logo\\\/image\\\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.vpascode.com\\\/pl\\\/#\\\/schema\\\/person\\\/cd8aa8455bd8bc6827b3efdfa79ad3a6\",\"name\":\"jick\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pl-PL\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/0c89451a99649a6ebefa14a9167db0960c327e8c33ea79fdb68fc38aa18d768a?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/0c89451a99649a6ebefa14a9167db0960c327e8c33ea79fdb68fc38aa18d768a?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/0c89451a99649a6ebefa14a9167db0960c327e8c33ea79fdb68fc38aa18d768a?s=96&d=mm&r=g\",\"caption\":\"jick\"},\"url\":\"https:\\\/\\\/www.vpascode.com\\\/pl\\\/author\\\/jick\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Is UML Diagram Only for OOP? Myths vs Modern Uses","description":"Learn why UML diagrams are not just for OOP. Discover how functional code, databases, and microservices use UML, plus modern Diagram as Code tools.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.vpascode.com\/pl\/is-uml-diagram-only-for-oop-myths-vs-modern-uses\/","og_locale":"pl_PL","og_type":"article","og_title":"Is UML Diagram Only for OOP? Myths vs Modern Uses","og_description":"Learn why UML diagrams are not just for OOP. Discover how functional code, databases, and microservices use UML, plus modern Diagram as Code tools.","og_url":"https:\/\/www.vpascode.com\/pl\/is-uml-diagram-only-for-oop-myths-vs-modern-uses\/","og_site_name":"VPasCode","article_published_time":"2026-08-04T10:53:03+00:00","og_image":[{"width":1312,"height":816,"url":"https:\/\/www.vpascode.com\/pl\/wp-content\/uploads\/sites\/9\/2026\/08\/modern-software-design-with-uml-diagrams-2.jpg","type":"image\/jpeg"}],"author":"jick","twitter_card":"summary_large_image","twitter_misc":{"Napisane przez":false,"Szacowany czas czytania":"5 minut"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.vpascode.com\/pl\/is-uml-diagram-only-for-oop-myths-vs-modern-uses\/#article","isPartOf":{"@id":"https:\/\/www.vpascode.com\/pl\/is-uml-diagram-only-for-oop-myths-vs-modern-uses\/"},"author":{"name":"jick","@id":"https:\/\/www.vpascode.com\/pl\/#\/schema\/person\/cd8aa8455bd8bc6827b3efdfa79ad3a6"},"headline":"Czy diagramy UML s\u0105 przeznaczone wy\u0142\u0105cznie dla programowania obiektowego? Mity versus wsp\u00f3\u0142czesne zastosowania","datePublished":"2026-08-04T10:53:03+00:00","mainEntityOfPage":{"@id":"https:\/\/www.vpascode.com\/pl\/is-uml-diagram-only-for-oop-myths-vs-modern-uses\/"},"wordCount":1099,"commentCount":0,"publisher":{"@id":"https:\/\/www.vpascode.com\/pl\/#organization"},"image":{"@id":"https:\/\/www.vpascode.com\/pl\/is-uml-diagram-only-for-oop-myths-vs-modern-uses\/#primaryimage"},"thumbnailUrl":"https:\/\/www.vpascode.com\/pl\/wp-content\/uploads\/sites\/9\/2026\/08\/modern-software-design-with-uml-diagrams-2.jpg","articleSection":["Insights"],"inLanguage":"pl-PL","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.vpascode.com\/pl\/is-uml-diagram-only-for-oop-myths-vs-modern-uses\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.vpascode.com\/pl\/is-uml-diagram-only-for-oop-myths-vs-modern-uses\/","url":"https:\/\/www.vpascode.com\/pl\/is-uml-diagram-only-for-oop-myths-vs-modern-uses\/","name":"Is UML Diagram Only for OOP? Myths vs Modern Uses","isPartOf":{"@id":"https:\/\/www.vpascode.com\/pl\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.vpascode.com\/pl\/is-uml-diagram-only-for-oop-myths-vs-modern-uses\/#primaryimage"},"image":{"@id":"https:\/\/www.vpascode.com\/pl\/is-uml-diagram-only-for-oop-myths-vs-modern-uses\/#primaryimage"},"thumbnailUrl":"https:\/\/www.vpascode.com\/pl\/wp-content\/uploads\/sites\/9\/2026\/08\/modern-software-design-with-uml-diagrams-2.jpg","datePublished":"2026-08-04T10:53:03+00:00","description":"Learn why UML diagrams are not just for OOP. Discover how functional code, databases, and microservices use UML, plus modern Diagram as Code tools.","breadcrumb":{"@id":"https:\/\/www.vpascode.com\/pl\/is-uml-diagram-only-for-oop-myths-vs-modern-uses\/#breadcrumb"},"inLanguage":"pl-PL","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.vpascode.com\/pl\/is-uml-diagram-only-for-oop-myths-vs-modern-uses\/"]}]},{"@type":"ImageObject","inLanguage":"pl-PL","@id":"https:\/\/www.vpascode.com\/pl\/is-uml-diagram-only-for-oop-myths-vs-modern-uses\/#primaryimage","url":"https:\/\/www.vpascode.com\/pl\/wp-content\/uploads\/sites\/9\/2026\/08\/modern-software-design-with-uml-diagrams-2.jpg","contentUrl":"https:\/\/www.vpascode.com\/pl\/wp-content\/uploads\/sites\/9\/2026\/08\/modern-software-design-with-uml-diagrams-2.jpg","width":1312,"height":816},{"@type":"BreadcrumbList","@id":"https:\/\/www.vpascode.com\/pl\/is-uml-diagram-only-for-oop-myths-vs-modern-uses\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.vpascode.com\/pl\/"},{"@type":"ListItem","position":2,"name":"Czy diagramy UML s\u0105 przeznaczone wy\u0142\u0105cznie dla programowania obiektowego? Mity versus wsp\u00f3\u0142czesne zastosowania"}]},{"@type":"WebSite","@id":"https:\/\/www.vpascode.com\/pl\/#website","url":"https:\/\/www.vpascode.com\/pl\/","name":"VPasCode","description":"by Visual Paradigm","publisher":{"@id":"https:\/\/www.vpascode.com\/pl\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.vpascode.com\/pl\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"pl-PL"},{"@type":"Organization","@id":"https:\/\/www.vpascode.com\/pl\/#organization","name":"VPasCode","url":"https:\/\/www.vpascode.com\/pl\/","logo":{"@type":"ImageObject","inLanguage":"pl-PL","@id":"https:\/\/www.vpascode.com\/pl\/#\/schema\/logo\/image\/","url":"https:\/\/www.vpascode.com\/pl\/wp-content\/uploads\/sites\/9\/2026\/06\/cropped-vp-online-logo-v1.png","contentUrl":"https:\/\/www.vpascode.com\/pl\/wp-content\/uploads\/sites\/9\/2026\/06\/cropped-vp-online-logo-v1.png","width":128,"height":138,"caption":"VPasCode"},"image":{"@id":"https:\/\/www.vpascode.com\/pl\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/www.vpascode.com\/pl\/#\/schema\/person\/cd8aa8455bd8bc6827b3efdfa79ad3a6","name":"jick","image":{"@type":"ImageObject","inLanguage":"pl-PL","@id":"https:\/\/secure.gravatar.com\/avatar\/0c89451a99649a6ebefa14a9167db0960c327e8c33ea79fdb68fc38aa18d768a?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/0c89451a99649a6ebefa14a9167db0960c327e8c33ea79fdb68fc38aa18d768a?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/0c89451a99649a6ebefa14a9167db0960c327e8c33ea79fdb68fc38aa18d768a?s=96&d=mm&r=g","caption":"jick"},"url":"https:\/\/www.vpascode.com\/pl\/author\/jick\/"}]}},"_links":{"self":[{"href":"https:\/\/www.vpascode.com\/pl\/wp-json\/wp\/v2\/posts\/2263","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.vpascode.com\/pl\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.vpascode.com\/pl\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.vpascode.com\/pl\/wp-json\/wp\/v2\/users\/4"}],"replies":[{"embeddable":true,"href":"https:\/\/www.vpascode.com\/pl\/wp-json\/wp\/v2\/comments?post=2263"}],"version-history":[{"count":0,"href":"https:\/\/www.vpascode.com\/pl\/wp-json\/wp\/v2\/posts\/2263\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.vpascode.com\/pl\/wp-json\/wp\/v2\/media\/2264"}],"wp:attachment":[{"href":"https:\/\/www.vpascode.com\/pl\/wp-json\/wp\/v2\/media?parent=2263"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.vpascode.com\/pl\/wp-json\/wp\/v2\/categories?post=2263"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.vpascode.com\/pl\/wp-json\/wp\/v2\/tags?post=2263"},{"taxonomy":"asset-category","embeddable":true,"href":"https:\/\/www.vpascode.com\/pl\/wp-json\/wp\/v2\/asset-category?post=2263"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}