{"id":2121,"date":"2026-05-26T07:21:24","date_gmt":"2026-05-26T07:21:24","guid":{"rendered":"https:\/\/www.vpascode.com\/pt\/docs\/uncategorized\/plantuml-component-diagram-syntax-guide\/"},"modified":"2026-05-26T07:21:24","modified_gmt":"2026-05-26T07:21:24","slug":"plantuml-component-diagram-syntax-guide","status":"publish","type":"ld_docs","link":"https:\/\/www.vpascode.com\/pt\/docs\/vpascode-docs\/plantuml-component-diagram-syntax-guide\/","title":{"rendered":"Guia de Sintaxe de Diagrama de Componente PlantUML"},"content":{"rendered":"<h2>O que \u00e9 um Diagrama de Componente?<\/h2>\n<p>Um <strong>Diagrama de Componente<\/strong> \u00e9 um diagrama estrutural <strong>diagrama UML<\/strong> que mapeia a organiza\u00e7\u00e3o modular de alto n\u00edvel de um sistema de software. Como um componente essencial da especifica\u00e7\u00e3o da Linguagem de Modelagem Unificada (UML), este tipo espec\u00edfico <strong>tipo de diagrama UML<\/strong>visualiza como m\u00f3dulos de c\u00f3digo f\u00edsico, bibliotecas, microservi\u00e7os, pacotes de execu\u00e7\u00e3o e camadas de banco de dados s\u00e3o estruturalmente agrupados e interconectados. Ele desloca o foco da documenta\u00e7\u00e3o para al\u00e9m das defini\u00e7\u00f5es de classes granulares, permitindo que arquitetos de software e engenheiros principais ilustrem claramente os limites de integra\u00e7\u00e3o do sistema, os caminhos de orquestra\u00e7\u00e3o de API e as depend\u00eancias de terceiros.<\/p>\n<p>Seja voc\u00ea estiver esbo\u00e7ando uma topologia de microservi\u00e7o moderna baseada em nuvem ou mostrando como uma biblioteca de framework interna se conecta ao n\u00facleo da sua aplica\u00e7\u00e3o legada, um mapa de componente UML fornece uma vis\u00e3o clara e estrutural dos limites do sistema. Com <strong>VPasCode<\/strong>, seus layouts de componente s\u00e3o renderizados automaticamente com base em texto declarativo, eliminando a complica\u00e7\u00e3o de ajustar manualmente caixas de layout ou fios de conex\u00e3o.<\/p>\n<h2>Guia de Sintaxe B\u00e1sica: Elementos e Constru\u00e7\u00f5es<\/h2>\n<p>Para criar um diagrama de componente UML elegante e compat\u00edvel com padr\u00f5es no PlantUML, voc\u00ea precisa dominar as declara\u00e7\u00f5es de blocos de c\u00f3digo modulares, a mec\u00e2nica de conex\u00e3o de interfaces, os agrupamentos de pacotes do sistema e os par\u00e2metros de conex\u00e3o direcionais.<\/p>\n<h3>1. Declarando Componentes de Software<\/h3>\n<p>Voc\u00ea declara um m\u00f3dulo de software usando a <code>componente<\/code>palavra-chave. Alternativamente, voc\u00ea pode envolver um identificador de texto limpo entre colchetes (<code>[Nome do Componente]<\/code>), que atua como um indicador abreviado global:<\/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\/editor\/#plantuml:IyxFBSZFIyqhKGX8hCm5qgvvwPbvgRnSqOwb9HaAmQb5PPd9gR4AYSKA804e7m00\" 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>Editar Plantuml no 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\/editor\/#plantuml:IyxFBSZFIyqhILK8IApC1J9Syz8pyr9vkQA3KulACWylprT8ILLmB2q1IcKc9nvUVdXnVgn2SdvkFaWm0wmeEHK0\" \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\">componente PaymentEngine\r\n[Servi\u00e7o de Autentica\u00e7\u00e3o] como AuthService<\/code><\/pre>                <\/div>\r\n                <div class=\"vpascode-actions\">\r\n                    <a href=\"https:\/\/www.vpascode.com\/editor\/#plantuml:IyxFBSZFIyqhILK8IApC1J9Syz8pyr9vkQA3KulACWylprT8ILLmB2q1IcKc9nvUVdXnVgn2SdvkFaWm0wmeEHK0\" \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\/editor\/#plantuml:IyxFBSZFIyqhKGX8hCm5qgvvwPbvgRnSqOwb9HaAmQb5PPd9gR4AYSKA804e7m00\" 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>Editar Plantuml no VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<\/div>\n<p id=\"kuAYxGJ\"><img alt=\"\" class=\"alignnone size-full wp-image-584\" decoding=\"async\" height=\"48\" sizes=\"(max-width: 315px) 100vw, 315px\" src=\"https:\/\/www.vpascode.com\/wp-content\/uploads\/2026\/05\/img_6a18fff7df724.png\" srcset=\"https:\/\/www.vpascode.com\/wp-content\/uploads\/2026\/05\/img_6a18fff7df724.png 315w, https:\/\/www.vpascode.com\/wp-content\/uploads\/2026\/05\/img_6a18fff7df724-300x46.png 300w\" width=\"315\"\/><\/p>\n<p><em>Dica Profissional:<\/em> Sempre pare strings longas de componentes com um <code>como<\/code>identificador (como <code>como AuthService<\/code>) para manter as linhas de relacionamento limpas e leg\u00edveis.<\/p>\n<h3>2. Definindo Portas e Interfaces<\/h3>\n<p>Os componentes interagem uns com os outros por meio de pontos de entrada estruturais. Voc\u00ea pode modelar explicitamente interfaces padr\u00e3o UML (representadas visualmente por um \u00edcone limpo de c\u00edrculo tipo &#8216;bala de goma&#8217;) usando a <code>interface<\/code>palavra-chave:<\/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\/editor\/#plantuml:oymhIIrAIqnELL0ASWqEKN0Cy5GeCr9II2nM24zD0l9ukQ8TIqioWbEBoZAJKsCLT7KrDA5I2bOAIgaL1Vd5gSLA0000\" 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>Editar Plantuml no 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\/editor\/#plantuml:oymhIIrAIqnELL1o3F1K278D3b4eCr9IICxFpLS8Jqq22l9oHJkMbcG4fnQLPIQdnYhewcfeGgKKh1IKKYioarAL0000\" \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\">interface \"API REST v2\" como WebAPI\r\n[AuthService] --() WebAPI : \"exibe\"<\/code><\/pre>                <\/div>\r\n                <div class=\"vpascode-actions\">\r\n                    <a href=\"https:\/\/www.vpascode.com\/editor\/#plantuml:oymhIIrAIqnELL1o3F1K278D3b4eCr9IICxFpLS8Jqq22l9oHJkMbcG4fnQLPIQdnYhewcfeGgKKh1IKKYioarAL0000\" \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\/editor\/#plantuml:oymhIIrAIqnELL0ASWqEKN0Cy5GeCr9II2nM24zD0l9ukQ8TIqioWbEBoZAJKsCLT7KrDA5I2bOAIgaL1Vd5gSLA0000\" 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>Editar Plantuml no VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<\/div>\n<p id=\"xsCdMaO\"><img alt=\"\" class=\"alignnone size-full wp-image-585\" decoding=\"async\" height=\"188\" src=\"https:\/\/www.vpascode.com\/wp-content\/uploads\/2026\/05\/img_6a19000321f0e.png\" width=\"132\"\/><\/p>\n<h3>3. Mapeando Depend\u00eancias de Componentes<\/h3>\n<p>Para mostrar que um m\u00f3dulo do sistema depende de outro ou se comunica com ele, use setas direcionais (<code>--&gt;<\/code>). Voc\u00ea tamb\u00e9m pode usar linhas padr\u00e3o de depend\u00eancia pontilhadas (<code>..&gt;<\/code>) para representar relacionamentos mais soltos, como padr\u00f5es de consumo de fila de mensagens ou chamadas transit\u00f3rias em tempo de execu\u00e7\u00e3o:<\/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\/editor\/#plantuml:YtOhoiyhISrBKN0iA8XLqDMrKmXFJN8CyEJbWj0AUdfs2j4kYIM9IOd5gGgkUUcPUQcn2bOAIi61FWg1fQb5cQd5IW00\" 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>Editar Plantuml no 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\/editor\/#plantuml:YtOioCbCJYp9BCjNS2lApoj9pKk9LT3LjLC8Jqro3F3avOBG2dfwTWhHllab-KKAAQaAJebvoVaWXajYIdvnh8ALWf9pVbvnQKv9Oh52SA2F4W00\" \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\">[Aplicativo Frontend] --&gt; WebAPI\r\nWebAPI ..&gt; [Motor de Banco de Dados] : \"Consultas SQL\"<\/code><\/pre>                <\/div>\r\n                <div class=\"vpascode-actions\">\r\n                    <a href=\"https:\/\/www.vpascode.com\/editor\/#plantuml:YtOioCbCJYp9BCjNS2lApoj9pKk9LT3LjLC8Jqro3F3avOBG2dfwTWhHllab-KKAAQaAJebvoVaWXajYIdvnh8ALWf9pVbvnQKv9Oh52SA2F4W00\" \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\/editor\/#plantuml:YtOhoiyhISrBKN0iA8XLqDMrKmXFJN8CyEJbWj0AUdfs2j4kYIM9IOd5gGgkUUcPUQcn2bOAIi61FWg1fQb5cQd5IW00\" 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>Editar Plantuml no VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<\/div>\n<p id=\"vJvNXkh\"><img alt=\"\" class=\"alignnone size-full wp-image-586\" decoding=\"async\" height=\"290\" src=\"https:\/\/www.vpascode.com\/wp-content\/uploads\/2026\/05\/img_6a19000fc072e.png\" width=\"162\"\/><\/p>\n<h3>4. Organizando Fronteiras com Pacotes<\/h3>\n<p>Para estabelecer fronteiras limpas de sub-sistemas ou categorizar componentes com base em ambientes de implanta\u00e7\u00e3o, envolva seus blocos de m\u00f3dulos dentro de envolt\u00f3rios estruturais <code>pacote<\/code> ou <code>nuvem<\/code>envolt\u00f3rios:<\/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\/editor\/#plantuml:AqXCpavCJrLG2avDBYtABAbKSCxFAqcjA55IgERbKW22QCVIaWo5uDIYiipar5YeM4X-TcgUGbXYJcPAOab-4L2u5W00\" 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>Editar Plantuml no 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\/editor\/#plantuml:AqXCpYz9LL1opiyhIQqeoLT8ILK8JaqlBKhCExmyKKcXcfTB0GYYWrEBoZ8FBmVBEvQMfEQLP2Od7bv-U75-B5H5M69EPafYIduHI4b8VdPg7b2c5W00\" \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\">pacote \"Contexto de Seguran\u00e7a\" {\r\n    [Servi\u00e7o de Autentica\u00e7\u00e3o]\r\n    [Validador de Token]\r\n}<\/code><\/pre>                <\/div>\r\n                <div class=\"vpascode-actions\">\r\n                    <a href=\"https:\/\/www.vpascode.com\/editor\/#plantuml:AqXCpYz9LL1opiyhIQqeoLT8ILK8JaqlBKhCExmyKKcXcfTB0GYYWrEBoZ8FBmVBEvQMfEQLP2Od7bv-U75-B5H5M69EPafYIduHI4b8VdPg7b2c5W00\" \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\/editor\/#plantuml:AqXCpavCJrLG2avDBYtABAbKSCxFAqcjA55IgERbKW22QCVIaWo5uDIYiipar5YeM4X-TcgUGbXYJcPAOab-4L2u5W00\" 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>Editar Plantuml no VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<\/div>\n<p id=\"wDwUGVq\"><img loading=\"lazy\" alt=\"\" class=\"alignnone size-full wp-image-587\" decoding=\"async\" height=\"99\" loading=\"lazy\" sizes=\"auto, (max-width: 349px) 100vw, 349px\" src=\"https:\/\/www.vpascode.com\/wp-content\/uploads\/2026\/05\/img_6a19001aed261.png\" srcset=\"https:\/\/www.vpascode.com\/wp-content\/uploads\/2026\/05\/img_6a19001aed261.png 349w, https:\/\/www.vpascode.com\/wp-content\/uploads\/2026\/05\/img_6a19001aed261-300x85.png 300w\" width=\"349\"\/><\/p>\n<h2>Melhores Pr\u00e1ticas para Sub-Sistemas de Componentes Limpos<\/h2>\n<ul>\n<li><strong>Mantenha os nomes dos n\u00f3s de alto n\u00edvel:<\/strong> Evite nomear componentes com base em arquivos ou diret\u00f3rios internos espec\u00edficos. Use nomes funcionais e de alto n\u00edvel, como <code>[Roteador de Notifica\u00e7\u00f5es]<\/code> ou <code>[Camada de Cache]<\/code>.<\/li>\n<li><strong>Aproveite a Nota\u00e7\u00e3o de Lollipop:<\/strong> Em vez de desenhar linhas simples entre caixas, direcione as conex\u00f5es por meio de n\u00f3s expl\u00edcitos <code>interface<\/code> n\u00f3s. Isso distingue claramente *qual* interface est\u00e1 sendo exposta de *quem* est\u00e1 consumindo.<\/li>\n<li><strong>Controle a Expans\u00e3o da Disposi\u00e7\u00e3o:<\/strong> Mapas de componentes expandem-se rapidamente ao rastrear m\u00faltiplos sub-sistemas. Use bandeiras espaciais dentro das setas de depend\u00eancia (como <code>-direita-&gt;<\/code> ou <code>-baixo-&gt;<\/code>) para organizar seus componentes de forma limpa na grade da tela.<\/li>\n<\/ul>\n<h2>Exemplos Reais de Diagramas de Objetos PlantUML<\/h2>\n<h3>Exemplo 1: Malha de Gateway de API Principal (Interfaces e Agrupamentos de Pacotes)<\/h3>\n<p>Este modelo demonstra uma configura\u00e7\u00e3o padr\u00e3o de sistema web em m\u00faltiplas camadas, destacando como um aplicativo p\u00fablico do usu\u00e1rio se conecta a microsservi\u00e7os internos por meio de interfaces REST estruturadas.<\/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\/editor\/#plantuml:RLBBJiCm4Bn7oZ-iUk7KNq1zg2eLL5XAKGu88ITPWaLYLxO3YX3_plfH9pnoMi-EPtRMMHdBjHtwBi_El7xZBSA23LKdQc0Q3KhBhL0IxlY8UW6VUGRqFPPOGS7MiEq4KPw06wXz6Vj7LOaEGTmNSqhlqJpxohEPtPeTOCyjVl0HYg4oex7O9oiXBUeNNXFnvdHYHQBkP7DMr5quPTTwtfVH_LR95cQothmDzM_thT886pgXRA10_IvgDF-vFnZKSEIIRlKKoEbxQuTJ_OU_4LqdmXoU5y-96cSzD2Gcx7ZnzhFomRx6FkEZjsDQqM36AUvaAsGWLa4qXhg2Kb2Qy_pXh9gIXoU2vV9wMbXuavzOB0YSxYRrY3ZXAgujfJPvTcaxmRIQEJZVGvv5YhCAeQUsmrA-5VdGN_eD\" 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>Edite o Plantuml no 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\/editor\/#plantuml:TLDBJiCm4Dr7oXr6tR3g5L0_WbAX2ajjrGL2QE8CmIA9Azif8CHTG2nw07PiSp7is4rIFbavC-_Dl7bZZxH1PQeYZwCjyWVC20PJB315I0d6MqMQIeFrllwGmEgl91SS1_0IHs2_wsakR9fWGmaisVW6k2may2Rw0xAeFtUKWxXQ1bGX4v5J7Bt6KQ_viagqq8QAHi0C3JtYSwE5pTk-mXPKTyWjdidII9S_UpAA2f6YFQUoPLwiLcmvy1tT-NQs2SAEQyEbBBEWBFEPNz98xKIzbzfH9ZPAPGfCYPABBGhzbpfNs8r1YYmA2mfYrxggtvMGEYXRQr8M-n__74sbF3iG9YBFHPcrd33JGQ8ZpLEBR_m8Os5bxWDk8OrK3iIKvAHrfunXvdzqO2M-Kp3Z1AQo96xtYO37jmDxnlaR0CFXQMUwt_TnB1niiEFscxGbeNxJdJ7D1XA_WJWwG5pbriX-i6zM70M8w-aTwT8kriuxiiNjm_W6\" \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\npackage \"Camada de Apresenta\u00e7\u00e3o P\u00fablica\" {\r\n    [Cliente Web SPA] como client\r\n    [Cliente M\u00f3vel iOS] como mobile\r\n}\r\n\r\npackage \"Subsistema de Gateway de API\" {\r\n    interface \"Ponto de Extremidade do Gateway HTTPS\" como HTTP_GW\r\n    [Gateway de API Kong] como gateway\r\n}\r\n\r\npackage \"Servi\u00e7os de Backend Principais\" {\r\n    interface \"API de Gerenciamento de Usu\u00e1rios\" como UserAPI\r\n    interface \"API de Faturamento\" como BillingAPI\r\n    \r\n    [Servi\u00e7o de Identidade] como auth\r\n    [Motor de Processamento de Pagamentos] como billing\r\n}\r\n\r\n' Conecte a apresenta\u00e7\u00e3o ao gateway\r\nclient --&gt; HTTP_GW\r\nmobile --&gt; HTTP_GW\r\nHTTP_GW -- gateway\r\n\r\n' Conecte o gateway \u00e0s interfaces de backend\r\ngateway --&gt; UserAPI\r\ngateway --&gt; BillingAPI\r\n\r\nUserAPI -- auth\r\nBillingAPI -- billing\r\n@enduml<\/code><\/pre>                <\/div>\r\n                <div class=\"vpascode-actions\">\r\n                    <a href=\"https:\/\/www.vpascode.com\/editor\/#plantuml:TLDBJiCm4Dr7oXr6tR3g5L0_WbAX2ajjrGL2QE8CmIA9Azif8CHTG2nw07PiSp7is4rIFbavC-_Dl7bZZxH1PQeYZwCjyWVC20PJB315I0d6MqMQIeFrllwGmEgl91SS1_0IHs2_wsakR9fWGmaisVW6k2may2Rw0xAeFtUKWxXQ1bGX4v5J7Bt6KQ_viagqq8QAHi0C3JtYSwE5pTk-mXPKTyWjdidII9S_UpAA2f6YFQUoPLwiLcmvy1tT-NQs2SAEQyEbBBEWBFEPNz98xKIzbzfH9ZPAPGfCYPABBGhzbpfNs8r1YYmA2mfYrxggtvMGEYXRQr8M-n__74sbF3iG9YBFHPcrd33JGQ8ZpLEBR_m8Os5bxWDk8OrK3iIKvAHrfunXvdzqO2M-Kp3Z1AQo96xtYO37jmDxnlaR0CFXQMUwt_TnB1niiEFscxGbeNxJdJ7D1XA_WJWwG5pbriX-i6zM70M8w-aTwT8kriuxiiNjm_W6\" \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\/editor\/#plantuml:RLBBJiCm4Bn7oZ-iUk7KNq1zg2eLL5XAKGu88ITPWaLYLxO3YX3_plfH9pnoMi-EPtRMMHdBjHtwBi_El7xZBSA23LKdQc0Q3KhBhL0IxlY8UW6VUGRqFPPOGS7MiEq4KPw06wXz6Vj7LOaEGTmNSqhlqJpxohEPtPeTOCyjVl0HYg4oex7O9oiXBUeNNXFnvdHYHQBkP7DMr5quPTTwtfVH_LR95cQothmDzM_thT886pgXRA10_IvgDF-vFnZKSEIIRlKKoEbxQuTJ_OU_4LqdmXoU5y-96cSzD2Gcx7ZnzhFomRx6FkEZjsDQqM36AUvaAsGWLa4qXhg2Kb2Qy_pXh9gIXoU2vV9wMbXuavzOB0YSxYRrY3ZXAgujfJPvTcaxmRIQEJZVGvv5YhCAeQUsmrA-5VdGN_eD\" 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>Edite o Plantuml no VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<\/div>\n<p id=\"IPoKTLn\"><img loading=\"lazy\" alt=\"\" class=\"alignnone size-full wp-image-588\" decoding=\"async\" height=\"577\" loading=\"lazy\" sizes=\"auto, (max-width: 472px) 100vw, 472px\" src=\"https:\/\/www.vpascode.com\/wp-content\/uploads\/2026\/05\/img_6a19002718bf6.png\" srcset=\"https:\/\/www.vpascode.com\/wp-content\/uploads\/2026\/05\/img_6a19002718bf6.png 472w, https:\/\/www.vpascode.com\/wp-content\/uploads\/2026\/05\/img_6a19002718bf6-245x300.png 245w\" width=\"472\"\/><\/p>\n<p><strong>An\u00e1lise da Sintaxe:<\/strong> Ao aninhar m\u00f3dulos dentro de limites limpos <code>package<\/code> de pacotes, o motor de layout autom\u00e1tico cria zonas belamente distintas. Os clientes de apresenta\u00e7\u00e3o conectam-se exclusivamente \u00e0 \u00fanica porta exposta <code>HTTP_GW<\/code> do gateway, que ent\u00e3o gerencia o roteamento de tr\u00e1fego interno para as camadas especializadas de microsservi\u00e7os de backend abaixo.<\/p>\n<h3>Exemplo 2: Pipeline de Processamento de Dados em Nuvem (Nuvens Ass\u00edncronas e Filas)<\/h3>\n<p>Este projeto avan\u00e7ado de empresa mapeia uma arquitetura real de dados em nuvem ass\u00edncrona, rastreando pipelines de ingest\u00e3o, brokers de mensagens desacoplados e pontos finais de armazenamento f\u00edsico.<\/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\/editor\/#plantuml:HLAnRkCm3DqD-1y8BpUb7RfrADfBCnokQ0EuW8UY0sCpjc1PT2dfqhIuVp_AYd6Q2F7nyRqdtVk04k9aowAr73ke7feQjalvJE74Ci9FZgv3ELVmNHQWv-sNwya7mmuQEWpCupkWXrEkC-OZKYHbcx4T27xZSKIbZJwGL0by41v9Bdnr4C89zi8jUSy2kp_a0ZIwdIHpBsM6TnZmW3wnJ_Yb8keRUDGxUCAH5d8VMB2dilXR5cNn7xzbcRKJAECR51eu-ZmarFd174CQ-R5gCQw7sSnaZICuMZx1HEs0phI-BDvsdsh7eLLd9Wb-cETts6pkrYZW5ghzI_qAru4iJHGqnB9Ocnin_H0KdRDOmF5WZHz0y0IMUrybCPVsrTNT9OQ4tBBpSI88F9jsYKHTfnJJWenAGYv9f8b6Z1flUPf5ZL47UnHzfG17OoblMj5frHf76drEGkqPTgzFK9zTEmWxyuNf1-ZSFRbEVz0_\" 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>Editar Plantuml no 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\/editor\/#plantuml:RLAzRXD14EvFkdSONKFbKD1HHB5CWX0cMDYIYuXYxcxiMtbtvvZTDI68fw7W0NW4lnYpznCf4cxEcldc-zFUX8WIaxDbuTEP75HhuqmaQ16-K3jyxuV5Sh-ju6TPWFuUzbHtp2TGm0T_f10ll_ahDEmOle-h4NWm5g5QsHGY2InxR3g2ZtWuOJMYQ-4JoSIw4wpHTjYoPERRC_d80Lg6ZN138SoREviUd_LOdXbgz0t3uBhLm-eTHeGrdeOOIuTFx67xPf96qG5vT5cbB7wLHLdybs2FGXsdGB1YwLamcZDF949jwCmXvkDNy8aQz2QuR9hWa5rcvTxqP8sdFEod99FgmxAtfXaOSywLDJhNw8_QbzU8YyNrt2YyXMhpURk3rv4iEOhoeogBURaGS-oYeiT61t2gCxU0vMFGUT8ogo7b2BcwkfxQo-WL-v2SaTdst86wYfU_lMaugutmxEf5VPdWlU1PnL2-9KqJO9F_KSmzzQAFgftKNnvc4tE9cMLhV2FipHDU_kYZWjlT6kuv9l6erpVaMtsi_m00\" \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\nnuvem \"Limite da Rede da Nuvem AWS\" {\r\n    [Webhook de Ingest\u00e3o] como webhook\r\n    fila \"Cluster Apache Kafka\" como broker\r\n    [Trabalhador de Eventos do Processador de Fluxo] como worker\r\n    banco de dados \"Data Lake da Amazon S3\" como armazenamento\r\n}\r\n\r\nbanco de dados \"Data Warehouse Corporativo\" como redshift\r\n\r\n' Mecanismos de fluxo da pipeline de processamento\r\n[Aplicativo do Cliente Externo] --&gt; webhook : \"POST \/telemetry\"\r\nwebhook -right-&gt; broker : \"Publicar logs brutos\"\r\n\r\nbroker ..&gt; worker : \"Consumir fluxo de dados do t\u00f3pico\"\r\nworker --&gt; armazenamento : \"Gravar arquivos Parquet comprimidos\"\r\n\r\narmazenamento ..&gt; redshift : \"Sincroniza\u00e7\u00e3o ETL Noturna\"\r\n@enduml<\/code><\/pre>                <\/div>\r\n                <div class=\"vpascode-actions\">\r\n                    <a href=\"https:\/\/www.vpascode.com\/editor\/#plantuml:RLAzRXD14EvFkdSONKFbKD1HHB5CWX0cMDYIYuXYxcxiMtbtvvZTDI68fw7W0NW4lnYpznCf4cxEcldc-zFUX8WIaxDbuTEP75HhuqmaQ16-K3jyxuV5Sh-ju6TPWFuUzbHtp2TGm0T_f10ll_ahDEmOle-h4NWm5g5QsHGY2InxR3g2ZtWuOJMYQ-4JoSIw4wpHTjYoPERRC_d80Lg6ZN138SoREviUd_LOdXbgz0t3uBhLm-eTHeGrdeOOIuTFx67xPf96qG5vT5cbB7wLHLdybs2FGXsdGB1YwLamcZDF949jwCmXvkDNy8aQz2QuR9hWa5rcvTxqP8sdFEod99FgmxAtfXaOSywLDJhNw8_QbzU8YyNrt2YyXMhpURk3rv4iEOhoeogBURaGS-oYeiT61t2gCxU0vMFGUT8ogo7b2BcwkfxQo-WL-v2SaTdst86wYfU_lMaugutmxEf5VPdWlU1PnL2-9KqJO9F_KSmzzQAFgftKNnvc4tE9cMLhV2FipHDU_kYZWjlT6kuv9l6erpVaMtsi_m00\" \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\/editor\/#plantuml:HLAnRkCm3DqD-1y8BpUb7RfrADfBCnokQ0EuW8UY0sCpjc1PT2dfqhIuVp_AYd6Q2F7nyRqdtVk04k9aowAr73ke7feQjalvJE74Ci9FZgv3ELVmNHQWv-sNwya7mmuQEWpCupkWXrEkC-OZKYHbcx4T27xZSKIbZJwGL0by41v9Bdnr4C89zi8jUSy2kp_a0ZIwdIHpBsM6TnZmW3wnJ_Yb8keRUDGxUCAH5d8VMB2dilXR5cNn7xzbcRKJAECR51eu-ZmarFd174CQ-R5gCQw7sSnaZICuMZx1HEs0phI-BDvsdsh7eLLd9Wb-cETts6pkrYZW5ghzI_qAru4iJHGqnB9Ocnin_H0KdRDOmF5WZHz0y0IMUrybCPVsrTNT9OQ4tBBpSI88F9jsYKHTfnJJWenAGYv9f8b6Z1flUPf5ZL47UnHzfG17OoblMj5frHf76drEGkqPTgzFK9zTEmWxyuNf1-ZSFRbEVz0_\" 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>Editar Plantuml no VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<\/div>\n<p id=\"prQSjVe\"><img loading=\"lazy\" alt=\"\" class=\"alignnone size-full wp-image-589\" decoding=\"async\" height=\"562\" loading=\"lazy\" sizes=\"auto, (max-width: 559px) 100vw, 559px\" src=\"https:\/\/www.vpascode.com\/wp-content\/uploads\/2026\/05\/img_6a190035a60b3.png\" srcset=\"https:\/\/www.vpascode.com\/wp-content\/uploads\/2026\/05\/img_6a190035a60b3.png 559w, https:\/\/www.vpascode.com\/wp-content\/uploads\/2026\/05\/img_6a190035a60b3-298x300.png 298w, https:\/\/www.vpascode.com\/wp-content\/uploads\/2026\/05\/img_6a190035a60b3-150x150.png 150w\" width=\"559\"\/><\/p>\n<p><strong>An\u00e1lise de Sintaxe:<\/strong> Este exemplo apresenta as formas especializadas <code>nuvem<\/code> e <code>fila<\/code> formas, fornecendo aos desenvolvedores pistas visuais imediatas sobre a topologia estrutural. O uso da sobrescrita de seta horizontal <code>-right-&gt;<\/code> garante que o fluxo de ingest\u00e3o de dados ocorra suavemente da esquerda para a direita na grade de rede, enquanto as depend\u00eancias pontilhadas (<code>..&gt;<\/code>) representam com precis\u00e3o comunica\u00e7\u00f5es desacopladas e ass\u00edncronas.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>O que \u00e9 um Diagrama de Componente? Um Diagrama de Componente \u00e9 um diagrama estrutural diagrama UML que mapeia a organiza\u00e7\u00e3o modular de alto n\u00edvel de um sistema de software. Como um componente essencial da especifica\u00e7\u00e3o da Linguagem de Modelagem&#8230;<\/p>\n","protected":false},"author":4,"featured_media":0,"parent":0,"menu_order":7,"template":"","meta":{"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":""}}},"ld_collection":[14],"class_list":["post-2121","ld_docs","type-ld_docs","status-publish","hentry","ld_collection-vpascode-docs"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.6 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>PlantUML Component Diagram | VPasCode Text to Diagram Guide<\/title>\n<meta name=\"description\" content=\"Document software sub-systems and module relationships with PlantUML component diagrams in VPasCode, a free diagram-as-code tool.\" \/>\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\/pt\/docs\/vpascode-docs\/plantuml-component-diagram-syntax-guide\/\" \/>\n<meta property=\"og:locale\" content=\"pt_PT\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"PlantUML Component Diagram | VPasCode Text to Diagram Guide\" \/>\n<meta property=\"og:description\" content=\"Document software sub-systems and module relationships with PlantUML component diagrams in VPasCode, a free diagram-as-code tool.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.vpascode.com\/pt\/docs\/vpascode-docs\/plantuml-component-diagram-syntax-guide\/\" \/>\n<meta property=\"og:site_name\" content=\"VPasCode\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.vpascode.com\/wp-content\/uploads\/2026\/05\/img_6a18fff7df724.png\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Tempo estimado de leitura\" \/>\n\t<meta name=\"twitter:data1\" content=\"4 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.vpascode.com\\\/pt\\\/docs\\\/vpascode-docs\\\/plantuml-component-diagram-syntax-guide\\\/\",\"url\":\"https:\\\/\\\/www.vpascode.com\\\/pt\\\/docs\\\/vpascode-docs\\\/plantuml-component-diagram-syntax-guide\\\/\",\"name\":\"PlantUML Component Diagram | VPasCode Text to Diagram Guide\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.vpascode.com\\\/pt\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.vpascode.com\\\/pt\\\/docs\\\/vpascode-docs\\\/plantuml-component-diagram-syntax-guide\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.vpascode.com\\\/pt\\\/docs\\\/vpascode-docs\\\/plantuml-component-diagram-syntax-guide\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.vpascode.com\\\/wp-content\\\/uploads\\\/2026\\\/05\\\/img_6a18fff7df724.png\",\"datePublished\":\"2026-05-26T07:21:24+00:00\",\"description\":\"Document software sub-systems and module relationships with PlantUML component diagrams in VPasCode, a free diagram-as-code tool.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.vpascode.com\\\/pt\\\/docs\\\/vpascode-docs\\\/plantuml-component-diagram-syntax-guide\\\/#breadcrumb\"},\"inLanguage\":\"pt-PT\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.vpascode.com\\\/pt\\\/docs\\\/vpascode-docs\\\/plantuml-component-diagram-syntax-guide\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-PT\",\"@id\":\"https:\\\/\\\/www.vpascode.com\\\/pt\\\/docs\\\/vpascode-docs\\\/plantuml-component-diagram-syntax-guide\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.vpascode.com\\\/wp-content\\\/uploads\\\/2026\\\/05\\\/img_6a18fff7df724.png\",\"contentUrl\":\"https:\\\/\\\/www.vpascode.com\\\/wp-content\\\/uploads\\\/2026\\\/05\\\/img_6a18fff7df724.png\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.vpascode.com\\\/pt\\\/docs\\\/vpascode-docs\\\/plantuml-component-diagram-syntax-guide\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.vpascode.com\\\/pt\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Lean Docs\",\"item\":\"https:\\\/\\\/www.vpascode.com\\\/pt\\\/docs\\\/%ld_collection%\\\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Guia de Sintaxe de Diagrama de Componente PlantUML\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.vpascode.com\\\/pt\\\/#website\",\"url\":\"https:\\\/\\\/www.vpascode.com\\\/pt\\\/\",\"name\":\"VPasCode\",\"description\":\"by Visual Paradigm\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.vpascode.com\\\/pt\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.vpascode.com\\\/pt\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"pt-PT\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.vpascode.com\\\/pt\\\/#organization\",\"name\":\"VPasCode\",\"url\":\"https:\\\/\\\/www.vpascode.com\\\/pt\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-PT\",\"@id\":\"https:\\\/\\\/www.vpascode.com\\\/pt\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/www.vpascode.com\\\/pt\\\/wp-content\\\/uploads\\\/sites\\\/10\\\/2026\\\/06\\\/cropped-vp-online-logo-v1.png\",\"contentUrl\":\"https:\\\/\\\/www.vpascode.com\\\/pt\\\/wp-content\\\/uploads\\\/sites\\\/10\\\/2026\\\/06\\\/cropped-vp-online-logo-v1.png\",\"width\":128,\"height\":138,\"caption\":\"VPasCode\"},\"image\":{\"@id\":\"https:\\\/\\\/www.vpascode.com\\\/pt\\\/#\\\/schema\\\/logo\\\/image\\\/\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"PlantUML Component Diagram | VPasCode Text to Diagram Guide","description":"Document software sub-systems and module relationships with PlantUML component diagrams in VPasCode, a free diagram-as-code tool.","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\/pt\/docs\/vpascode-docs\/plantuml-component-diagram-syntax-guide\/","og_locale":"pt_PT","og_type":"article","og_title":"PlantUML Component Diagram | VPasCode Text to Diagram Guide","og_description":"Document software sub-systems and module relationships with PlantUML component diagrams in VPasCode, a free diagram-as-code tool.","og_url":"https:\/\/www.vpascode.com\/pt\/docs\/vpascode-docs\/plantuml-component-diagram-syntax-guide\/","og_site_name":"VPasCode","og_image":[{"url":"https:\/\/www.vpascode.com\/wp-content\/uploads\/2026\/05\/img_6a18fff7df724.png","type":"","width":"","height":""}],"twitter_card":"summary_large_image","twitter_misc":{"Tempo estimado de leitura":"4 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.vpascode.com\/pt\/docs\/vpascode-docs\/plantuml-component-diagram-syntax-guide\/","url":"https:\/\/www.vpascode.com\/pt\/docs\/vpascode-docs\/plantuml-component-diagram-syntax-guide\/","name":"PlantUML Component Diagram | VPasCode Text to Diagram Guide","isPartOf":{"@id":"https:\/\/www.vpascode.com\/pt\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.vpascode.com\/pt\/docs\/vpascode-docs\/plantuml-component-diagram-syntax-guide\/#primaryimage"},"image":{"@id":"https:\/\/www.vpascode.com\/pt\/docs\/vpascode-docs\/plantuml-component-diagram-syntax-guide\/#primaryimage"},"thumbnailUrl":"https:\/\/www.vpascode.com\/wp-content\/uploads\/2026\/05\/img_6a18fff7df724.png","datePublished":"2026-05-26T07:21:24+00:00","description":"Document software sub-systems and module relationships with PlantUML component diagrams in VPasCode, a free diagram-as-code tool.","breadcrumb":{"@id":"https:\/\/www.vpascode.com\/pt\/docs\/vpascode-docs\/plantuml-component-diagram-syntax-guide\/#breadcrumb"},"inLanguage":"pt-PT","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.vpascode.com\/pt\/docs\/vpascode-docs\/plantuml-component-diagram-syntax-guide\/"]}]},{"@type":"ImageObject","inLanguage":"pt-PT","@id":"https:\/\/www.vpascode.com\/pt\/docs\/vpascode-docs\/plantuml-component-diagram-syntax-guide\/#primaryimage","url":"https:\/\/www.vpascode.com\/wp-content\/uploads\/2026\/05\/img_6a18fff7df724.png","contentUrl":"https:\/\/www.vpascode.com\/wp-content\/uploads\/2026\/05\/img_6a18fff7df724.png"},{"@type":"BreadcrumbList","@id":"https:\/\/www.vpascode.com\/pt\/docs\/vpascode-docs\/plantuml-component-diagram-syntax-guide\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.vpascode.com\/pt\/"},{"@type":"ListItem","position":2,"name":"Lean Docs","item":"https:\/\/www.vpascode.com\/pt\/docs\/%ld_collection%\/"},{"@type":"ListItem","position":3,"name":"Guia de Sintaxe de Diagrama de Componente PlantUML"}]},{"@type":"WebSite","@id":"https:\/\/www.vpascode.com\/pt\/#website","url":"https:\/\/www.vpascode.com\/pt\/","name":"VPasCode","description":"by Visual Paradigm","publisher":{"@id":"https:\/\/www.vpascode.com\/pt\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.vpascode.com\/pt\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"pt-PT"},{"@type":"Organization","@id":"https:\/\/www.vpascode.com\/pt\/#organization","name":"VPasCode","url":"https:\/\/www.vpascode.com\/pt\/","logo":{"@type":"ImageObject","inLanguage":"pt-PT","@id":"https:\/\/www.vpascode.com\/pt\/#\/schema\/logo\/image\/","url":"https:\/\/www.vpascode.com\/pt\/wp-content\/uploads\/sites\/10\/2026\/06\/cropped-vp-online-logo-v1.png","contentUrl":"https:\/\/www.vpascode.com\/pt\/wp-content\/uploads\/sites\/10\/2026\/06\/cropped-vp-online-logo-v1.png","width":128,"height":138,"caption":"VPasCode"},"image":{"@id":"https:\/\/www.vpascode.com\/pt\/#\/schema\/logo\/image\/"}}]}},"_links":{"self":[{"href":"https:\/\/www.vpascode.com\/pt\/wp-json\/wp\/v2\/ld_docs\/2121","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.vpascode.com\/pt\/wp-json\/wp\/v2\/ld_docs"}],"about":[{"href":"https:\/\/www.vpascode.com\/pt\/wp-json\/wp\/v2\/types\/ld_docs"}],"author":[{"embeddable":true,"href":"https:\/\/www.vpascode.com\/pt\/wp-json\/wp\/v2\/users\/4"}],"wp:attachment":[{"href":"https:\/\/www.vpascode.com\/pt\/wp-json\/wp\/v2\/media?parent=2121"}],"wp:term":[{"taxonomy":"ld_collection","embeddable":true,"href":"https:\/\/www.vpascode.com\/pt\/wp-json\/wp\/v2\/ld_collection?post=2121"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}