{"id":936,"date":"2026-02-25T10:32:32","date_gmt":"2026-02-25T10:32:32","guid":{"rendered":"https:\/\/skills.visual-paradigm.com\/pl\/docs\/crc-cards-to-class-diagrams\/crc-to-uml-mapping\/convert-crc-class-to-uml\/"},"modified":"2026-02-25T10:32:32","modified_gmt":"2026-02-25T10:32:32","slug":"convert-crc-class-to-uml","status":"publish","type":"docs","link":"https:\/\/skills.visual-paradigm.com\/pl\/docs\/crc-cards-to-class-diagrams\/crc-to-uml-mapping\/convert-crc-class-to-uml\/","title":{"rendered":"Classes: Turning CRC Cards into UML Entities"},"content":{"rendered":"<p>Most teams rush to formalize CRC cards into UML class diagrams too early, treating the transition as a mechanical copy-paste task. But in reality, the real value comes from understanding the *intent* behind each class before drawing lines and rectangles. I\u2019ve seen teams spend hours refining their UML diagrams, only to realize they misrepresented core domain logic because they skipped the mental model shift.<\/p>\n<p>The most effective path isn\u2019t to convert CRC cards into UML in one go, but to treat the CRC session as a collaborative discovery tool and the UML diagram as a structured documentation artifact. This chapter walks you through how to extract meaningful UML entities from CRC cards\u2014focusing on naming, attributes, and namespace decisions that stand the test of time and team turnover.<\/p>\n<p>By the end, you\u2019ll know how to avoid common pitfalls like ambiguous names, inconsistent visibility, or over-engineered models. You\u2019ll also see how CRC class mapping naturally leads to clean, maintainable UML entity extraction\u2014without reinventing the wheel.<\/p>\n<h2>From CRC Card to UML Class: The Core Mapping Process<\/h2>\n<h3>Step 1: Identify the Class and Refine Its Name<\/h3>\n<p>Start by reviewing all CRC cards from your brainstorming session. The class name on the card is your first draft\u2014but rarely the final one.<\/p>\n<p>Ask: Does this name reflect the domain\u2019s language? Is it singular and unambiguous? In a logistics system, \u201cDriver\u201d is better than \u201cTruck Operator\u201d if the team uses \u201cDriver\u201d consistently. Avoid vague terms like \u201cSystem\u201d or \u201cThing.\u201d<\/p>\n<p><strong>Naming UML classes<\/strong> should follow the same principles as naming variables: be precise, domain-aligned, and consistent with your team\u2019s coding standards.<\/p>\n<ul>\n<li>Use <strong>camelCase<\/strong> or <strong>PascalCase<\/strong> (PascalCase is standard in UML).<\/li>\n<li>Prefer nouns over verbs\u2014\u201cOrder\u201d not \u201cOrdering\u201d<\/li>\n<li>Use plural only when the class represents a collection (e.g., \u201cCustomers\u201d)<\/li>\n<\/ul>\n<h3>Step 2: Extract Attributes from Responsibilities<\/h3>\n<p>Each responsibility on a CRC card\u2014like \u201ccalculate total cost\u201d or \u201cstore delivery address\u201d\u2014can point to a method or an attribute. But not all are attributes.<\/p>\n<p>Ask: Is this data something the class <em>holds<\/em> rather than something it <em>does<\/em>? If yes, it\u2019s likely an attribute.<\/p>\n<p>For example, \u201cstore delivery address\u201d is an attribute. \u201cCalculate total cost\u201d is a method. \u201cTrack order status\u201d is a state variable\u2014so it\u2019s an attribute.<\/p>\n<p>Use these rules to guide your extraction:<\/p>\n<ul>\n<li>If the responsibility is about <strong>storing, holding, or containing<\/strong> data, extract as an attribute.<\/li>\n<li>If the responsibility is about <strong>transforming or computing<\/strong> something, it\u2019s a method.<\/li>\n<li>If the responsibility involves <strong>managing state<\/strong>, consider it a property or state variable.<\/li>\n<\/ul>\n<h3>Step 3: Organize Classes into Logical Namespaces<\/h3>\n<p>A class like \u201cCustomer\u201d might live in multiple contexts\u2014sales, shipping, billing. Naming alone doesn\u2019t tell the whole story.<\/p>\n<p>Use namespaces (or packages in UML) to group related classes. I\u2019ve seen teams use:<\/p>\n<ul>\n<li><code>com.example.sales<\/code> for billing and order processing<\/li>\n<li><code>com.example.shipping<\/code> for delivery tracking and logistics<\/li>\n<li><code>com.example.customer<\/code> for profile, preferences, and contact<\/li>\n<\/ul>\n<p>These namespaces aren\u2019t just organizational\u2014they help prevent naming conflicts and clarify responsibilities.<\/p>\n<p>Tip: Use <strong>domain-driven design<\/strong> boundaries to guide your namespace structure. If your system has distinct domains, group classes accordingly.<\/p>\n<h2>Key Patterns in CRC Class Mapping<\/h2>\n<p>Not every CRC card translates to a standalone UML class. Some represent roles, interfaces, or collections. Let\u2019s examine common patterns you\u2019ll encounter.<\/p>\n<h3>Pattern 1: The Core Entity Class<\/h3>\n<p>These are the central actors in your domain\u2014like \u201cOrder,\u201d \u201cInvoice,\u201d or \u201cUser.\u201d They often have multiple responsibilities involving state, behavior, and relationships.<\/p>\n<p>They should appear as full UML class nodes with:<\/p>\n<ul>\n<li>Name in PascalCase<\/li>\n<li>Attributes extracted from storage responsibilities<\/li>\n<li>Operations from behavioral responsibilities<\/li>\n<li>Visibility: Public for public methods, private for internal state<\/li>\n<\/ul>\n<h3>Pattern 2: The Value Object<\/h3>\n<p>Some CRC cards represent values\u2014like \u201cAddress,\u201d \u201cDateRange,\u201d or \u201cPaymentMethod.\u201d These are not independently identifiable, but their state matters.<\/p>\n<p>They should be modeled as <strong>value objects<\/strong> in UML, often with a dashed line to the owning class.<\/p>\n<p>Key traits:<\/p>\n<ul>\n<li>No identity of its own<\/li>\n<li>Immutable or value-based comparison<\/li>\n<li>Not persisted independently<\/li>\n<\/ul>\n<h3>Pattern 3: The Role or Interface<\/h3>\n<p>Some CRC cards describe a role a class plays\u2014\u201cPaymentProcessor,\u201d \u201cNotificationHandler.\u201d These often map to interfaces or abstract classes.<\/p>\n<p>Ask: Is this a behavior that multiple classes can fulfill? If yes, extract it as an interface.<\/p>\n<p>Example:<\/p>\n<ul>\n<li>CRC card: \u201cProcess payment\u201d \u2192 becomes interface <code>PaymentProcessor<\/code><\/li>\n<li>Classes that fulfill it: <code>CreditCardProcessor<\/code>, <code>PayPalProcessor<\/code><\/li>\n<\/ul>\n<h2>Common Mistakes to Avoid<\/h2>\n<p>Even experienced teams make these errors when converting CRC class to UML. I\u2019ve seen dozens of models fail because of them.<\/p>\n<table>\n<tbody>\n<tr>\n<th>Mistake<\/th>\n<th>Why It\u2019s Bad<\/th>\n<th>Fix<\/th>\n<\/tr>\n<tr>\n<td>Using verbs in class names<\/td>\n<td>Breaks consistency, confuses with methods<\/td>\n<td>Change \u201cCustomerOrdering\u201d \u2192 \u201cOrder\u201d<\/td>\n<\/tr>\n<tr>\n<td>Forgetting to extract attributes from storage responsibilities<\/td>\n<td>Leads to missing state and poor modeling<\/td>\n<td>Review each \u201chold\u201d or \u201cstore\u201d responsibility<\/td>\n<\/tr>\n<tr>\n<td>Grouping unrelated classes in the same namespace<\/td>\n<td>Creates confusion, hard to maintain<\/td>\n<td>Use domain boundaries to guide package structure<\/td>\n<\/tr>\n<tr>\n<td>Misidentifying roles as full classes<\/td>\n<td>Overloads models with unnecessary entities<\/td>\n<td>Map roles to interfaces or abstract classes<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h2>Practical Checklist: UML Entity Extraction<\/h2>\n<p>Before finalizing your UML class diagram, run this checklist to ensure your CRC-to-UML conversion is sound.<\/p>\n<ol>\n<li><strong>Class names<\/strong> are singular, PascalCase, and align with domain language.<\/li>\n<li>All <strong>storage responsibilities<\/strong> have been mapped to attributes.<\/li>\n<li>Every <strong>behavioral responsibility<\/strong> is either a method or a related operation.<\/li>\n<li>Classes are grouped into <strong>logical namespaces<\/strong> based on domain or function.<\/li>\n<li>Value objects and roles are <strong>not modeled as independent entities<\/strong> unless required.<\/li>\n<li>Visibility (public, private, protected) reflects encapsulation goals.<\/li>\n<\/ol>\n<p>Run this checklist after each iteration. It becomes your design anchor.<\/p>\n<h2>Frequently Asked Questions<\/h2>\n<h3>What\u2019s the difference between CRC class mapping and UML entity extraction?<\/h3>\n<p>CRC class mapping is the initial conversion\u2014matching CRC cards to UML elements. UML entity extraction is the deeper process of refining that mapping: deciding what the class truly holds, what it does, and how it fits into the broader system. The former is translation, the latter is design.<\/p>\n<h3>Can one CRC card become multiple UML classes?<\/h3>\n<p>Yes. If a CRC card lists responsibilities that belong to different concerns (e.g., \u201ccalculate total\u201d and \u201csend invoice\u201d), it may need to be split. One class should focus on a single responsibility or domain role. Don\u2019t force everything into one class.<\/p>\n<h3>How do I know if a CRC responsibility should be an attribute or a method?<\/h3>\n<p>Ask: \u201cDoes this data persist over time?\u201d If yes \u2192 attribute. \u201cDoes it involve computation or action?\u201d \u2192 method. If it\u2019s both, the class likely has a state and a behavior.<\/p>\n<h3>Should I use singular or plural names in UML class diagrams?<\/h3>\n<p>Use singular names for classes. \u201cOrder\u201d not \u201cOrders.\u201d Use plural only for collections (e.g., <code>Set<order><\/order><\/code>), not for class names. This keeps the model consistent with object-oriented principles.<\/p>\n<h3>What if two CRC cards have the same name?<\/h3>\n<p>They may represent the same concept, or different roles in different domains. Use namespaces to disambiguate. For example, \u201cUser\u201d in <code>auth<\/code> vs <code>billing<\/code> can be <code>auth.User<\/code> and <code>billing.User<\/code>.<\/p>\n<h3>How do I handle ambiguous responsibilities during UML entity extraction?<\/h3>\n<p>When unsure, go back to the team. Ask: \u201cWhat does this mean in the domain?\u201d Use real examples from user stories or scenarios. The ambiguity often points to a missing abstraction, like a value object or interface.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Most teams rush to formalize CRC cards into UML class diagrams too early, treating the transition as a mechanical copy-paste task. But in reality, the real value comes from understanding the *intent* behind each class before drawing lines and rectangles. I\u2019ve seen teams spend hours refining their UML diagrams, only to realize they misrepresented core [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":935,"menu_order":0,"template":"","meta":{"_acf_changed":false,"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":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","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":""}},"footnotes":""},"doc_tag":[],"class_list":["post-936","docs","type-docs","status-publish","hentry"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.2 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Convert CRC Class to UML: A Practical Guide<\/title>\n<meta name=\"description\" content=\"Learn how to convert CRC class to UML with expert techniques for naming, attribute extraction, and namespace organization. Master CRC class mapping and UML entity extraction for robust software design.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/skills.visual-paradigm.com\/pl\/docs\/crc-cards-to-class-diagrams\/crc-to-uml-mapping\/convert-crc-class-to-uml\/\" \/>\n<meta property=\"og:locale\" content=\"pl_PL\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Convert CRC Class to UML: A Practical Guide\" \/>\n<meta property=\"og:description\" content=\"Learn how to convert CRC class to UML with expert techniques for naming, attribute extraction, and namespace organization. Master CRC class mapping and UML entity extraction for robust software design.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/skills.visual-paradigm.com\/pl\/docs\/crc-cards-to-class-diagrams\/crc-to-uml-mapping\/convert-crc-class-to-uml\/\" \/>\n<meta property=\"og:site_name\" content=\"Visual Paradigm Skills Polski\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Szacowany czas czytania\" \/>\n\t<meta name=\"twitter:data1\" content=\"6 minut\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/skills.visual-paradigm.com\/pl\/docs\/crc-cards-to-class-diagrams\/crc-to-uml-mapping\/convert-crc-class-to-uml\/\",\"url\":\"https:\/\/skills.visual-paradigm.com\/pl\/docs\/crc-cards-to-class-diagrams\/crc-to-uml-mapping\/convert-crc-class-to-uml\/\",\"name\":\"Convert CRC Class to UML: A Practical Guide\",\"isPartOf\":{\"@id\":\"https:\/\/skills.visual-paradigm.com\/pl\/#website\"},\"datePublished\":\"2026-02-25T10:32:32+00:00\",\"description\":\"Learn how to convert CRC class to UML with expert techniques for naming, attribute extraction, and namespace organization. Master CRC class mapping and UML entity extraction for robust software design.\",\"breadcrumb\":{\"@id\":\"https:\/\/skills.visual-paradigm.com\/pl\/docs\/crc-cards-to-class-diagrams\/crc-to-uml-mapping\/convert-crc-class-to-uml\/#breadcrumb\"},\"inLanguage\":\"pl-PL\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/skills.visual-paradigm.com\/pl\/docs\/crc-cards-to-class-diagrams\/crc-to-uml-mapping\/convert-crc-class-to-uml\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/skills.visual-paradigm.com\/pl\/docs\/crc-cards-to-class-diagrams\/crc-to-uml-mapping\/convert-crc-class-to-uml\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/skills.visual-paradigm.com\/pl\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"From CRC Cards to Class Diagrams\",\"item\":\"https:\/\/skills.visual-paradigm.com\/pl\/docs\/crc-cards-to-class-diagrams\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Mapping CRC Elements to Class Diagram Components\",\"item\":\"https:\/\/skills.visual-paradigm.com\/pl\/docs\/crc-cards-to-class-diagrams\/crc-to-uml-mapping\/\"},{\"@type\":\"ListItem\",\"position\":4,\"name\":\"Classes: Turning CRC Cards into UML Entities\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/skills.visual-paradigm.com\/pl\/#website\",\"url\":\"https:\/\/skills.visual-paradigm.com\/pl\/\",\"name\":\"Visual Paradigm Skills Polski\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\/\/skills.visual-paradigm.com\/pl\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/skills.visual-paradigm.com\/pl\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"pl-PL\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/skills.visual-paradigm.com\/pl\/#organization\",\"name\":\"Visual Paradigm Skills Polski\",\"url\":\"https:\/\/skills.visual-paradigm.com\/pl\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pl-PL\",\"@id\":\"https:\/\/skills.visual-paradigm.com\/pl\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/skills.visual-paradigm.com\/pl\/wp-content\/uploads\/sites\/8\/2026\/02\/favicon.svg\",\"contentUrl\":\"https:\/\/skills.visual-paradigm.com\/pl\/wp-content\/uploads\/sites\/8\/2026\/02\/favicon.svg\",\"width\":70,\"height\":70,\"caption\":\"Visual Paradigm Skills Polski\"},\"image\":{\"@id\":\"https:\/\/skills.visual-paradigm.com\/pl\/#\/schema\/logo\/image\/\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Convert CRC Class to UML: A Practical Guide","description":"Learn how to convert CRC class to UML with expert techniques for naming, attribute extraction, and namespace organization. Master CRC class mapping and UML entity extraction for robust software design.","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:\/\/skills.visual-paradigm.com\/pl\/docs\/crc-cards-to-class-diagrams\/crc-to-uml-mapping\/convert-crc-class-to-uml\/","og_locale":"pl_PL","og_type":"article","og_title":"Convert CRC Class to UML: A Practical Guide","og_description":"Learn how to convert CRC class to UML with expert techniques for naming, attribute extraction, and namespace organization. Master CRC class mapping and UML entity extraction for robust software design.","og_url":"https:\/\/skills.visual-paradigm.com\/pl\/docs\/crc-cards-to-class-diagrams\/crc-to-uml-mapping\/convert-crc-class-to-uml\/","og_site_name":"Visual Paradigm Skills Polski","twitter_card":"summary_large_image","twitter_misc":{"Szacowany czas czytania":"6 minut"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/skills.visual-paradigm.com\/pl\/docs\/crc-cards-to-class-diagrams\/crc-to-uml-mapping\/convert-crc-class-to-uml\/","url":"https:\/\/skills.visual-paradigm.com\/pl\/docs\/crc-cards-to-class-diagrams\/crc-to-uml-mapping\/convert-crc-class-to-uml\/","name":"Convert CRC Class to UML: A Practical Guide","isPartOf":{"@id":"https:\/\/skills.visual-paradigm.com\/pl\/#website"},"datePublished":"2026-02-25T10:32:32+00:00","description":"Learn how to convert CRC class to UML with expert techniques for naming, attribute extraction, and namespace organization. Master CRC class mapping and UML entity extraction for robust software design.","breadcrumb":{"@id":"https:\/\/skills.visual-paradigm.com\/pl\/docs\/crc-cards-to-class-diagrams\/crc-to-uml-mapping\/convert-crc-class-to-uml\/#breadcrumb"},"inLanguage":"pl-PL","potentialAction":[{"@type":"ReadAction","target":["https:\/\/skills.visual-paradigm.com\/pl\/docs\/crc-cards-to-class-diagrams\/crc-to-uml-mapping\/convert-crc-class-to-uml\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/skills.visual-paradigm.com\/pl\/docs\/crc-cards-to-class-diagrams\/crc-to-uml-mapping\/convert-crc-class-to-uml\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/skills.visual-paradigm.com\/pl\/"},{"@type":"ListItem","position":2,"name":"From CRC Cards to Class Diagrams","item":"https:\/\/skills.visual-paradigm.com\/pl\/docs\/crc-cards-to-class-diagrams\/"},{"@type":"ListItem","position":3,"name":"Mapping CRC Elements to Class Diagram Components","item":"https:\/\/skills.visual-paradigm.com\/pl\/docs\/crc-cards-to-class-diagrams\/crc-to-uml-mapping\/"},{"@type":"ListItem","position":4,"name":"Classes: Turning CRC Cards into UML Entities"}]},{"@type":"WebSite","@id":"https:\/\/skills.visual-paradigm.com\/pl\/#website","url":"https:\/\/skills.visual-paradigm.com\/pl\/","name":"Visual Paradigm Skills Polski","description":"","publisher":{"@id":"https:\/\/skills.visual-paradigm.com\/pl\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/skills.visual-paradigm.com\/pl\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"pl-PL"},{"@type":"Organization","@id":"https:\/\/skills.visual-paradigm.com\/pl\/#organization","name":"Visual Paradigm Skills Polski","url":"https:\/\/skills.visual-paradigm.com\/pl\/","logo":{"@type":"ImageObject","inLanguage":"pl-PL","@id":"https:\/\/skills.visual-paradigm.com\/pl\/#\/schema\/logo\/image\/","url":"https:\/\/skills.visual-paradigm.com\/pl\/wp-content\/uploads\/sites\/8\/2026\/02\/favicon.svg","contentUrl":"https:\/\/skills.visual-paradigm.com\/pl\/wp-content\/uploads\/sites\/8\/2026\/02\/favicon.svg","width":70,"height":70,"caption":"Visual Paradigm Skills Polski"},"image":{"@id":"https:\/\/skills.visual-paradigm.com\/pl\/#\/schema\/logo\/image\/"}}]}},"_links":{"self":[{"href":"https:\/\/skills.visual-paradigm.com\/pl\/wp-json\/wp\/v2\/docs\/936","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/skills.visual-paradigm.com\/pl\/wp-json\/wp\/v2\/docs"}],"about":[{"href":"https:\/\/skills.visual-paradigm.com\/pl\/wp-json\/wp\/v2\/types\/docs"}],"author":[{"embeddable":true,"href":"https:\/\/skills.visual-paradigm.com\/pl\/wp-json\/wp\/v2\/users\/1"}],"version-history":[{"count":0,"href":"https:\/\/skills.visual-paradigm.com\/pl\/wp-json\/wp\/v2\/docs\/936\/revisions"}],"up":[{"embeddable":true,"href":"https:\/\/skills.visual-paradigm.com\/pl\/wp-json\/wp\/v2\/docs\/935"}],"wp:attachment":[{"href":"https:\/\/skills.visual-paradigm.com\/pl\/wp-json\/wp\/v2\/media?parent=936"}],"wp:term":[{"taxonomy":"doc_tag","embeddable":true,"href":"https:\/\/skills.visual-paradigm.com\/pl\/wp-json\/wp\/v2\/doc_tag?post=936"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}