{"id":7033,"date":"2022-02-18T06:58:31","date_gmt":"2022-02-18T06:58:31","guid":{"rendered":"https:\/\/www.cybermedian.com\/pt\/?p=7033"},"modified":"2022-04-01T14:20:37","modified_gmt":"2022-04-01T06:20:37","slug":"what-is-model-view-controller-mvc-framework-model-mvc-with-uml-robustness-analysis","status":"publish","type":"post","link":"https:\/\/www.cybermedian.com\/pt\/what-is-model-view-controller-mvc-framework-model-mvc-with-uml-robustness-analysis\/","title":{"rendered":"O que \u00e9 o Framework Model-View-Controller (MVC)? Modelo MVC com An\u00e1lise de Robustez UML"},"content":{"rendered":"<p><a href=\"https:\/\/www.visual-paradigm.com\/guide\/uml-unified-modeling-language\/what-is-model-view-control-mvc\/\">Model-View-Controller (MVC)<\/a>\u00a0\u00e9 um padr\u00e3o de design b\u00e1sico que separa a l\u00f3gica da interface do usu\u00e1rio da l\u00f3gica de neg\u00f3cios.\u00a0O padr\u00e3o Model-View-Controller (MVC) \u00e9 uma maneira de dividir um aplicativo em tr\u00eas componentes distintos;\u00a0o modelo, a vis\u00e3o e o controlador.<\/p>\n<p id=\"CzvJKsH\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-7246 \" src=\"https:\/\/www.cybermedian.com\/pt\/wp-content\/uploads\/sites\/11\/2022\/02\/img_6212df40ef951.png\" sizes=\"auto, (max-width: 502px) 100vw, 502px\" srcset=\"https:\/\/www.cybermedian.com\/pt\/wp-content\/uploads\/sites\/11\/2022\/02\/img_6212df40ef951.png 502w, https:\/\/www.cybermedian.com\/pt\/wp-content\/uploads\/sites\/11\/2022\/02\/img_6212df40ef951-300x169.png 300w\" alt=\"\" width=\"502\" height=\"282\" \/><\/p>\n<h3><span id=\"MVC_Framework_using_UML_Modeling\">Estrutura MVC usando modelagem UML<\/span><\/h3>\n<p>Este controlador de visualiza\u00e7\u00e3o de modelo pode ser melhor descrito visualmente usando an\u00e1lise de robustez em nota\u00e7\u00e3o UML estereotipada, que foi proposta pela primeira vez por Ivar Jacobson em seu premiado livro Object-Oriented Software Engineering (veja as refer\u00eancias abaixo) e explicado por Doug Rosenberg et al. .\u00a0em seu livro Use Case-Driven UML Object Modeling.<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/www.cybermedian.com\/pt\/wp-content\/uploads\/sites\/11\/2022\/02\/mvc-sequence-diagram-example-2.png\" alt=\"Como modelar o framework MVC com diagrama de sequ\u00eancia UML?\" \/><\/p>\n<p id=\"QRNeDJt\">Aqui est\u00e1 um diagrama de sequ\u00eancia simples e hipot\u00e9tico para MVC.\u00a0O que voc\u00ea v\u00ea no diagrama acima \u00e9 que um usu\u00e1rio da web inicia uma consulta e gera um evento que \u00e9 processado pelo controlador para obter as informa\u00e7\u00f5es necess\u00e1rias do modelo, validar as informa\u00e7\u00f5es e passar o conjunto de resultados de volta para a visualiza\u00e7\u00e3o.<\/p>\n<p><strong>Objetos de entidade<\/strong>\u00a0(modelo) nada mais s\u00e3o do que as informa\u00e7\u00f5es ou dados que seus objetos de limite est\u00e3o procurando.\u00a0Podem ser tabelas de banco de dados, arquivos do Excel ou sess\u00f5es \u201ctransit\u00f3rias\u201d ou dados em cache ou algo assim.<\/p>\n<ul>\n<li>Descreva objetos que existem ao longo do tempo e est\u00e3o principalmente preocupados com o estado persistente.<\/li>\n<li>Geralmente objetos do modelo de dom\u00ednio<\/li>\n<li>Coisas que precisamos acompanhar e armazenar<\/li>\n<\/ul>\n<p><strong>Objetos de fronteira<\/strong>\u00a0(View) s\u00e3o objetos com os quais os atores (por exemplo, usu\u00e1rios) se comunicam em seu sistema de software.\u00a0Esses objetos podem ser qualquer janela, tela, di\u00e1logo e menu ou outra interface de usu\u00e1rio em seu sistema.\u00a0Voc\u00ea pode identific\u00e1-los facilmente ao analisar casos de uso.<\/p>\n<ul>\n<li>descrever as conex\u00f5es entre o sistema e o ambiente que se comunicam.<\/li>\n<li>Usado por atores ao se comunicar com o sistema<\/li>\n<li>Somente objetos de entidade podem iniciar eventos<\/li>\n<li>(geralmente os principais elementos da interface do usu\u00e1rio, por exemplo, telas)<\/li>\n<\/ul>\n<p><strong>Objetos de controle<\/strong>\u00a0(controladores) s\u00e3o objetos de neg\u00f3cios ou seus servi\u00e7os da web de neg\u00f3cios.\u00a0\u00c9 aqui que voc\u00ea captura as regras de neg\u00f3cio que s\u00e3o usadas para filtrar os dados a serem apresentados ao usu\u00e1rio, o que ele pede.\u00a0Portanto, o controlador est\u00e1 realmente controlando a l\u00f3gica de neg\u00f3cios e a transforma\u00e7\u00e3o de dados.<\/p>\n<ul>\n<li>descrever o comportamento em um caso de uso particular.<\/li>\n<li>A \u201ccola\u201d entre objetos de fronteira e objetos de entidade<\/li>\n<li>Capture regras e pol\u00edticas de neg\u00f3cios<\/li>\n<li>(nota: frequentemente implementado como m\u00e9todos de outros objetos)<\/li>\n<\/ul>\n<h3><span id=\"Connection_rules_in_the_MVC_model\">Regras de conex\u00e3o no modelo MVC<\/span><\/h3>\n<p>Considere que objetos de fronteira e objetos de entidade s\u00e3o substantivos, enquanto controladores s\u00e3o verbos.<\/p>\n<p>Aqui est\u00e3o as quatro regras b\u00e1sicas de conex\u00e3o.<\/p>\n<ul>\n<li>Os atores s\u00f3 podem interagir ou se comunicar com objetos de fronteira.<\/li>\n<li>Objetos de fronteira s\u00f3 podem se comunicar com controladores e atores.<\/li>\n<li>Objetos de entidade s\u00f3 podem interagir com controladores.<\/li>\n<li>Os controladores podem se comunicar com objetos de fronteira e objetos de entidade, bem como outros controladores, mas n\u00e3o com atores<\/li>\n<\/ul>\n<p><img decoding=\"async\" src=\"https:\/\/www.cybermedian.com\/pt\/wp-content\/uploads\/sites\/11\/2022\/02\/robustness-diagram-connection-rules.png\" \/><\/p>\n<p>Lembre-se de que tanto os objetos de fronteira quanto os objetos de entidade s\u00e3o substantivos, enquanto os controladores s\u00e3o verbos.\u00a0Substantivos n\u00e3o podem falar com outros substantivos, mas verbos podem falar com substantivos ou verbos.<\/p>\n<h2><span id=\"Robustness_Analysis_Diagram_at_a_Glance\">Vis\u00e3o geral do diagrama de an\u00e1lise de robustez<\/span><\/h2>\n<p>Suponha que tenhamos a seguinte descri\u00e7\u00e3o simples de caso de uso em formato textual:<\/p>\n<p><em>Na p\u00e1gina de detalhes do aluno, o professor clica no bot\u00e3o &#8221;Adicionar cursos&#8221; e o sistema exibe a lista de cursos.\u00a0O professor seleciona o nome de um curso e pressiona o bot\u00e3o &#8221;Registrar&#8221;.\u00a0O sistema cadastra o aluno para o curso.<\/em><\/p>\n<p>Agora voc\u00ea pode criar um diagrama de robustez simples de acordo com o caso de uso acima:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-3238 size-full\" src=\"https:\/\/www.cybermedian.com\/pt\/wp-content\/uploads\/sites\/11\/2022\/02\/robustness-analysis-diagram.png\" alt=\"Diagrama de an\u00e1lise de robustez\" width=\"545\" height=\"462\" \/><\/p>\n<p>Voc\u00ea tamb\u00e9m pode usar um r\u00f3tulo de texto para anexar a descri\u00e7\u00e3o do caso de uso no lado direito do diagrama de Robustez.<\/p>\n<h2><span id=\"Five_Steps_for_Creating_Robustness_Analysis\">Cinco etapas para criar uma an\u00e1lise de robustez<\/span><\/h2>\n<ol>\n<li>Voc\u00ea executa a an\u00e1lise de robustez para um caso de uso percorrendo o texto do caso de uso.<\/li>\n<li>Uma frase por vez, e desenhando os atores, o limite apropriado, objetos de entidade e controladores e as conex\u00f5es entre os v\u00e1rios elementos do diagrama.<\/li>\n<li>Voc\u00ea deve ser capaz de encaixar o curso b\u00e1sico e todos os cursos alternativos em um diagrama.<\/li>\n<li>Qualquer pessoa que revise um diagrama de robustez deve ser capaz de ler um curso de a\u00e7\u00e3o no texto do caso de uso, tra\u00e7ar seu dedo junto com as associa\u00e7\u00f5es no diagrama e ver uma correspond\u00eancia clara entre texto e imagem.<\/li>\n<\/ol>\n<p>Voc\u00ea provavelmente ter\u00e1 que reescrever o texto do seu caso de uso ao fazer isso, para remover a ambiguidade e referenciar explicitamente objetos de limite e objetos de entidade.\u00a0A maioria das pessoas n\u00e3o escreve um texto de caso de uso perfeito no primeiro rascunho.\u00a0Assim, podemos usar a an\u00e1lise de robustez para preencher a lacuna entre o texto do caso de uso e o diagrama.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-3239 size-full\" src=\"https:\/\/www.cybermedian.com\/pt\/wp-content\/uploads\/sites\/11\/2022\/02\/robustness-analysis-diagram-checking.png\" alt=\"Verifica\u00e7\u00e3o do Diagrama de An\u00e1lise de Robustez\" width=\"671\" height=\"391\" \/><\/p>\n<h2><span id=\"Develop_Use_Case_Scenario_Using_MVC_Sequence_Diagrams\">Desenvolva um cen\u00e1rio de caso de uso usando diagramas de sequ\u00eancia MVC<\/span><\/h2>\n<p>Com base na An\u00e1lise de Robustez, podemos desenvolver cen\u00e1rios de casos de uso (normais ou alternativos) usando um conjunto de diagramas de sequ\u00eancia relacionados no formato MVC.\u00a0<a href=\"https:\/\/www.visual-paradigm.com\/guide\/uml-unified-modeling-language\/what-is-sequence-diagram\/\">Da mesma forma, o diagrama de sequ\u00eancia<\/a>\u00a0MVC\u00a0possui objetos de interface, objetos de controlador e objetos de entidade:<\/p>\n<ul>\n<li>Entidades s\u00e3o objetos que representam dados do sistema: Cliente, Produto, Transa\u00e7\u00e3o, Carrinho, etc.<\/li>\n<li>Os limites s\u00e3o objetos que fazem interface com os atores do sistema: UserInterface, DataBaseGateway, ServerProxy, etc.<\/li>\n<li>Controles s\u00e3o objetos que fazem a media\u00e7\u00e3o entre limites e entidades.<\/li>\n<\/ul>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-3237 size-full\" src=\"https:\/\/www.cybermedian.com\/pt\/wp-content\/uploads\/sites\/11\/2022\/02\/mvc-sequence-diagram-example.png\" alt=\"Exemplo de diagrama de sequ\u00eancia MVC\" width=\"716\" height=\"427\" \/><\/p>\n<p>Eles orquestram a execu\u00e7\u00e3o de comandos vindos do limite interagindo com entidades atrav\u00e9s dos objetos do limite.\u00a0Um objeto controlador geralmente corresponde ao cen\u00e1rio de caso de uso e geralmente \u00e9 representado por um diagrama de sequ\u00eancia.<\/p>\n<p>Voc\u00ea pode usar estere\u00f3tipos para a linha de vida no diagrama de sequ\u00eancia do MVC para deixar visualmente claro que tipo de objetos voc\u00ea est\u00e1 usando no MVC, como no Diagrama de An\u00e1lise de Robustez acima.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-3240 size-full\" src=\"https:\/\/www.cybermedian.com\/pt\/wp-content\/uploads\/sites\/11\/2022\/02\/robustness-sequence-diagram.png\" alt=\"Diagrama de Sequ\u00eancia de Robustez\" width=\"761\" height=\"549\" \/><\/p>\n<h2><span id=\"Example_MVC_Sequence_Diagram\">Exemplo de diagrama de sequ\u00eancia MVC<\/span><\/h2>\n<p>Suponha um aplicativo que permite pesquisar pessoas.\u00a0A interface do usu\u00e1rio deve ter um campo de texto onde o usu\u00e1rio possa inserir uma string de pesquisa e pode ter um bot\u00e3o para iniciar a pesquisa.\u00a0Por fim, deve ter uma \u00e1rea onde sejam exibidos os resultados da pesquisa.\u00a0No nosso caso, ele \u00e9 implementado com um componente de lista.<\/p>\n<p>O cen\u00e1rio de caso de uso \u201cSearch for Persons\u201d \u00e9:<\/p>\n<ul>\n<li>O usu\u00e1rio insere uma string de pesquisa no campo de texto<\/li>\n<li>O usu\u00e1rio clica no bot\u00e3o de pesquisa.<\/li>\n<li>O resultado da pesquisa \u00e9 exibido na lista de resultados.<\/li>\n<\/ul>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-3242 size-full\" src=\"https:\/\/www.cybermedian.com\/pt\/wp-content\/uploads\/sites\/11\/2022\/02\/mvc-sequence-diagram-example-1.png\" alt=\"Exemplo de diagrama de sequ\u00eancia MVC\" width=\"1025\" height=\"522\" \/><\/p>\n<p>O diagrama de sequ\u00eancia acima mostra como o clique do bot\u00e3o do usu\u00e1rio se move pelo aplicativo at\u00e9 que o resultado seja finalmente exibido no componente de lista.<\/p>\n<p><strong>Refer\u00eancias<\/strong><\/p>\n<ul>\n<li><a href=\"https:\/\/online.visual-paradigm.com\/diagrams\/tutorials\/sequence-diagram-tutorial\/\">Tutorial do Diagrama de Sequ\u00eancia<\/a><\/li>\n<li><a href=\"https:\/\/www.visual-paradigm.com\/support\/documents\/vpuserguide\/94\/2577\/7025_drawingseque.html\">Como desenhar diagrama de seq\u00fc\u00eancia?<\/a><\/li>\n<li><a href=\"https:\/\/online.visual-paradigm.com\/diagrams\/templates\/sequence-diagram\/\">Modelos de Diagrama de Sequ\u00eancia<\/a><\/li>\n<li><a href=\"https:\/\/www.visual-paradigm.com\/solution\/sequencedgm\/uml-sequence-diagram-tool\/\">Ferramenta de diagrama de sequ\u00eancia UML<\/a><\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Model-View-Controller (MVC) \u00e9 um padr\u00e3o b\u00e1sico de projeto que separa a l\u00f3gica da interface do usu\u00e1rio da l\u00f3gica do neg\u00f3cio. O padr\u00e3o Model-View-Controller (MVC) \u00e9 uma forma de dividir uma aplica\u00e7\u00e3o em tr\u00eas componentes distintos: o modelo, a vista e o controlador. Este modelo-controlador de visualiza\u00e7\u00e3o pode ser melhor descrito visualmente usando an\u00e1lise de robustez em nota\u00e7\u00e3o UML estereotipada, que foi proposta pela primeira vez por Ivar Jacobson em seu premiado livro Object-Oriented Software Engineering.<\/p>\n","protected":false},"author":1,"featured_media":7131,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_yoast_wpseo_title":"","_yoast_wpseo_metadesc":"","footnotes":""},"categories":[13,3],"tags":[52,63,62,53],"class_list":["post-7033","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-online-diagrams","category-unified-modeling-language","tag-cn-done","tag-es-done","tag-ja-done","tag-tw-done"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.7 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>O que \u00e9 o Framework Model-View-Controller (MVC)? Modelo MVC com An\u00e1lise de Robustez UML - Cibermediano<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.cybermedian.com\/pt\/what-is-model-view-controller-mvc-framework-model-mvc-with-uml-robustness-analysis\/\" \/>\n<meta property=\"og:locale\" content=\"pt_PT\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"O que \u00e9 o Framework Model-View-Controller (MVC)? Modelo MVC com An\u00e1lise de Robustez UML - Cibermediano\" \/>\n<meta property=\"og:description\" content=\"Model-View-Controller (MVC) \u00e9 um padr\u00e3o b\u00e1sico de projeto que separa a l\u00f3gica da interface do usu\u00e1rio da l\u00f3gica do neg\u00f3cio. O padr\u00e3o Model-View-Controller (MVC) \u00e9 uma forma de dividir uma aplica\u00e7\u00e3o em tr\u00eas componentes distintos: o modelo, a vista e o controlador. Este modelo-controlador de visualiza\u00e7\u00e3o pode ser melhor descrito visualmente usando an\u00e1lise de robustez em nota\u00e7\u00e3o UML estereotipada, que foi proposta pela primeira vez por Ivar Jacobson em seu premiado livro Object-Oriented Software Engineering.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.cybermedian.com\/pt\/what-is-model-view-controller-mvc-framework-model-mvc-with-uml-robustness-analysis\/\" \/>\n<meta property=\"og:site_name\" content=\"Cibermediano\" \/>\n<meta property=\"article:published_time\" content=\"2022-02-18T06:58:31+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2022-04-01T06:20:37+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/circle.visual-paradigm.com\/wp-content\/uploads\/2017\/06\/Sequence-Diagram-MVC-Framework.png\" \/>\n<meta name=\"author\" content=\"vpadmin\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:image\" content=\"https:\/\/circle.visual-paradigm.com\/wp-content\/uploads\/2017\/06\/Sequence-Diagram-MVC-Framework.png\" \/>\n<meta name=\"twitter:creator\" content=\"@vpadmin\" \/>\n<meta name=\"twitter:label1\" content=\"Escrito por\" \/>\n\t<meta name=\"twitter:data1\" content=\"vpadmin\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tempo estimado de leitura\" \/>\n\t<meta name=\"twitter:data2\" content=\"8 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.cybermedian.com\/pt\/what-is-model-view-controller-mvc-framework-model-mvc-with-uml-robustness-analysis\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.cybermedian.com\/pt\/what-is-model-view-controller-mvc-framework-model-mvc-with-uml-robustness-analysis\/\"},\"author\":{\"name\":\"vpadmin\",\"@id\":\"https:\/\/www.cybermedian.com\/pt\/#\/schema\/person\/0122cdf8fc3b73482dd8a30c8500f75a\"},\"headline\":\"O que \u00e9 o Framework Model-View-Controller (MVC)? Modelo MVC com An\u00e1lise de Robustez UML\",\"datePublished\":\"2022-02-18T06:58:31+00:00\",\"dateModified\":\"2022-04-01T06:20:37+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.cybermedian.com\/pt\/what-is-model-view-controller-mvc-framework-model-mvc-with-uml-robustness-analysis\/\"},\"wordCount\":1237,\"commentCount\":5,\"image\":{\"@id\":\"https:\/\/www.cybermedian.com\/pt\/what-is-model-view-controller-mvc-framework-model-mvc-with-uml-robustness-analysis\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/circle.visual-paradigm.com\/wp-content\/uploads\/2017\/06\/Sequence-Diagram-MVC-Framework.png\",\"keywords\":[\"cn-done\",\"es-done\",\"ja-done\",\"tw-done\"],\"articleSection\":[\"Online Diagrams\",\"Unified Modeling Language\"],\"inLanguage\":\"pt-PT\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.cybermedian.com\/pt\/what-is-model-view-controller-mvc-framework-model-mvc-with-uml-robustness-analysis\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.cybermedian.com\/pt\/what-is-model-view-controller-mvc-framework-model-mvc-with-uml-robustness-analysis\/\",\"url\":\"https:\/\/www.cybermedian.com\/pt\/what-is-model-view-controller-mvc-framework-model-mvc-with-uml-robustness-analysis\/\",\"name\":\"O que \u00e9 o Framework Model-View-Controller (MVC)? Modelo MVC com An\u00e1lise de Robustez UML - Cibermediano\",\"isPartOf\":{\"@id\":\"https:\/\/www.cybermedian.com\/pt\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.cybermedian.com\/pt\/what-is-model-view-controller-mvc-framework-model-mvc-with-uml-robustness-analysis\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.cybermedian.com\/pt\/what-is-model-view-controller-mvc-framework-model-mvc-with-uml-robustness-analysis\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/circle.visual-paradigm.com\/wp-content\/uploads\/2017\/06\/Sequence-Diagram-MVC-Framework.png\",\"datePublished\":\"2022-02-18T06:58:31+00:00\",\"dateModified\":\"2022-04-01T06:20:37+00:00\",\"author\":{\"@id\":\"https:\/\/www.cybermedian.com\/pt\/#\/schema\/person\/0122cdf8fc3b73482dd8a30c8500f75a\"},\"breadcrumb\":{\"@id\":\"https:\/\/www.cybermedian.com\/pt\/what-is-model-view-controller-mvc-framework-model-mvc-with-uml-robustness-analysis\/#breadcrumb\"},\"inLanguage\":\"pt-PT\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.cybermedian.com\/pt\/what-is-model-view-controller-mvc-framework-model-mvc-with-uml-robustness-analysis\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-PT\",\"@id\":\"https:\/\/www.cybermedian.com\/pt\/what-is-model-view-controller-mvc-framework-model-mvc-with-uml-robustness-analysis\/#primaryimage\",\"url\":\"https:\/\/circle.visual-paradigm.com\/wp-content\/uploads\/2017\/06\/Sequence-Diagram-MVC-Framework.png\",\"contentUrl\":\"https:\/\/circle.visual-paradigm.com\/wp-content\/uploads\/2017\/06\/Sequence-Diagram-MVC-Framework.png\",\"width\":\"771\",\"height\":\"473\",\"caption\":\"O que \u00e9 o Framework Model-View-Controller (MVC)? Modelo MVC com An\u00e1lise de Robustez UML\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.cybermedian.com\/pt\/what-is-model-view-controller-mvc-framework-model-mvc-with-uml-robustness-analysis\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.cybermedian.com\/pt\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"O que \u00e9 o Framework Model-View-Controller (MVC)? Modelo MVC com An\u00e1lise de Robustez UML\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.cybermedian.com\/pt\/#website\",\"url\":\"https:\/\/www.cybermedian.com\/pt\/\",\"name\":\"Cibermediano\",\"description\":\"Aprendendo uma coisa nova todos os dias\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.cybermedian.com\/pt\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"pt-PT\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.cybermedian.com\/pt\/#\/schema\/person\/0122cdf8fc3b73482dd8a30c8500f75a\",\"name\":\"vpadmin\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-PT\",\"@id\":\"https:\/\/www.cybermedian.com\/pt\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/3914788226b9b0af628488720662164f4641c6125d0bd38d90ae34f01c8c4ea3?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/3914788226b9b0af628488720662164f4641c6125d0bd38d90ae34f01c8c4ea3?s=96&d=mm&r=g\",\"caption\":\"vpadmin\"},\"sameAs\":[\"https:\/\/x.com\/vpadmin\"],\"url\":\"https:\/\/www.cybermedian.com\/pt\/author\/vpadmin\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"O que \u00e9 o Framework Model-View-Controller (MVC)? Modelo MVC com An\u00e1lise de Robustez UML - Cibermediano","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.cybermedian.com\/pt\/what-is-model-view-controller-mvc-framework-model-mvc-with-uml-robustness-analysis\/","og_locale":"pt_PT","og_type":"article","og_title":"O que \u00e9 o Framework Model-View-Controller (MVC)? Modelo MVC com An\u00e1lise de Robustez UML - Cibermediano","og_description":"Model-View-Controller (MVC) \u00e9 um padr\u00e3o b\u00e1sico de projeto que separa a l\u00f3gica da interface do usu\u00e1rio da l\u00f3gica do neg\u00f3cio. O padr\u00e3o Model-View-Controller (MVC) \u00e9 uma forma de dividir uma aplica\u00e7\u00e3o em tr\u00eas componentes distintos: o modelo, a vista e o controlador. Este modelo-controlador de visualiza\u00e7\u00e3o pode ser melhor descrito visualmente usando an\u00e1lise de robustez em nota\u00e7\u00e3o UML estereotipada, que foi proposta pela primeira vez por Ivar Jacobson em seu premiado livro Object-Oriented Software Engineering.","og_url":"https:\/\/www.cybermedian.com\/pt\/what-is-model-view-controller-mvc-framework-model-mvc-with-uml-robustness-analysis\/","og_site_name":"Cibermediano","article_published_time":"2022-02-18T06:58:31+00:00","article_modified_time":"2022-04-01T06:20:37+00:00","og_image":[{"url":"https:\/\/circle.visual-paradigm.com\/wp-content\/uploads\/2017\/06\/Sequence-Diagram-MVC-Framework.png","type":"","width":"","height":""}],"author":"vpadmin","twitter_card":"summary_large_image","twitter_image":"https:\/\/circle.visual-paradigm.com\/wp-content\/uploads\/2017\/06\/Sequence-Diagram-MVC-Framework.png","twitter_creator":"@vpadmin","twitter_misc":{"Escrito por":"vpadmin","Tempo estimado de leitura":"8 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.cybermedian.com\/pt\/what-is-model-view-controller-mvc-framework-model-mvc-with-uml-robustness-analysis\/#article","isPartOf":{"@id":"https:\/\/www.cybermedian.com\/pt\/what-is-model-view-controller-mvc-framework-model-mvc-with-uml-robustness-analysis\/"},"author":{"name":"vpadmin","@id":"https:\/\/www.cybermedian.com\/pt\/#\/schema\/person\/0122cdf8fc3b73482dd8a30c8500f75a"},"headline":"O que \u00e9 o Framework Model-View-Controller (MVC)? Modelo MVC com An\u00e1lise de Robustez UML","datePublished":"2022-02-18T06:58:31+00:00","dateModified":"2022-04-01T06:20:37+00:00","mainEntityOfPage":{"@id":"https:\/\/www.cybermedian.com\/pt\/what-is-model-view-controller-mvc-framework-model-mvc-with-uml-robustness-analysis\/"},"wordCount":1237,"commentCount":5,"image":{"@id":"https:\/\/www.cybermedian.com\/pt\/what-is-model-view-controller-mvc-framework-model-mvc-with-uml-robustness-analysis\/#primaryimage"},"thumbnailUrl":"https:\/\/circle.visual-paradigm.com\/wp-content\/uploads\/2017\/06\/Sequence-Diagram-MVC-Framework.png","keywords":["cn-done","es-done","ja-done","tw-done"],"articleSection":["Online Diagrams","Unified Modeling Language"],"inLanguage":"pt-PT","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.cybermedian.com\/pt\/what-is-model-view-controller-mvc-framework-model-mvc-with-uml-robustness-analysis\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.cybermedian.com\/pt\/what-is-model-view-controller-mvc-framework-model-mvc-with-uml-robustness-analysis\/","url":"https:\/\/www.cybermedian.com\/pt\/what-is-model-view-controller-mvc-framework-model-mvc-with-uml-robustness-analysis\/","name":"O que \u00e9 o Framework Model-View-Controller (MVC)? Modelo MVC com An\u00e1lise de Robustez UML - Cibermediano","isPartOf":{"@id":"https:\/\/www.cybermedian.com\/pt\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.cybermedian.com\/pt\/what-is-model-view-controller-mvc-framework-model-mvc-with-uml-robustness-analysis\/#primaryimage"},"image":{"@id":"https:\/\/www.cybermedian.com\/pt\/what-is-model-view-controller-mvc-framework-model-mvc-with-uml-robustness-analysis\/#primaryimage"},"thumbnailUrl":"https:\/\/circle.visual-paradigm.com\/wp-content\/uploads\/2017\/06\/Sequence-Diagram-MVC-Framework.png","datePublished":"2022-02-18T06:58:31+00:00","dateModified":"2022-04-01T06:20:37+00:00","author":{"@id":"https:\/\/www.cybermedian.com\/pt\/#\/schema\/person\/0122cdf8fc3b73482dd8a30c8500f75a"},"breadcrumb":{"@id":"https:\/\/www.cybermedian.com\/pt\/what-is-model-view-controller-mvc-framework-model-mvc-with-uml-robustness-analysis\/#breadcrumb"},"inLanguage":"pt-PT","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.cybermedian.com\/pt\/what-is-model-view-controller-mvc-framework-model-mvc-with-uml-robustness-analysis\/"]}]},{"@type":"ImageObject","inLanguage":"pt-PT","@id":"https:\/\/www.cybermedian.com\/pt\/what-is-model-view-controller-mvc-framework-model-mvc-with-uml-robustness-analysis\/#primaryimage","url":"https:\/\/circle.visual-paradigm.com\/wp-content\/uploads\/2017\/06\/Sequence-Diagram-MVC-Framework.png","contentUrl":"https:\/\/circle.visual-paradigm.com\/wp-content\/uploads\/2017\/06\/Sequence-Diagram-MVC-Framework.png","width":"771","height":"473","caption":"O que \u00e9 o Framework Model-View-Controller (MVC)? Modelo MVC com An\u00e1lise de Robustez UML"},{"@type":"BreadcrumbList","@id":"https:\/\/www.cybermedian.com\/pt\/what-is-model-view-controller-mvc-framework-model-mvc-with-uml-robustness-analysis\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.cybermedian.com\/pt\/"},{"@type":"ListItem","position":2,"name":"O que \u00e9 o Framework Model-View-Controller (MVC)? Modelo MVC com An\u00e1lise de Robustez UML"}]},{"@type":"WebSite","@id":"https:\/\/www.cybermedian.com\/pt\/#website","url":"https:\/\/www.cybermedian.com\/pt\/","name":"Cibermediano","description":"Aprendendo uma coisa nova todos os dias","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.cybermedian.com\/pt\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"pt-PT"},{"@type":"Person","@id":"https:\/\/www.cybermedian.com\/pt\/#\/schema\/person\/0122cdf8fc3b73482dd8a30c8500f75a","name":"vpadmin","image":{"@type":"ImageObject","inLanguage":"pt-PT","@id":"https:\/\/www.cybermedian.com\/pt\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/3914788226b9b0af628488720662164f4641c6125d0bd38d90ae34f01c8c4ea3?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/3914788226b9b0af628488720662164f4641c6125d0bd38d90ae34f01c8c4ea3?s=96&d=mm&r=g","caption":"vpadmin"},"sameAs":["https:\/\/x.com\/vpadmin"],"url":"https:\/\/www.cybermedian.com\/pt\/author\/vpadmin\/"}]}},"_links":{"self":[{"href":"https:\/\/www.cybermedian.com\/pt\/wp-json\/wp\/v2\/posts\/7033","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.cybermedian.com\/pt\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.cybermedian.com\/pt\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.cybermedian.com\/pt\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.cybermedian.com\/pt\/wp-json\/wp\/v2\/comments?post=7033"}],"version-history":[{"count":6,"href":"https:\/\/www.cybermedian.com\/pt\/wp-json\/wp\/v2\/posts\/7033\/revisions"}],"predecessor-version":[{"id":10145,"href":"https:\/\/www.cybermedian.com\/pt\/wp-json\/wp\/v2\/posts\/7033\/revisions\/10145"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.cybermedian.com\/pt\/wp-json\/wp\/v2\/media\/7131"}],"wp:attachment":[{"href":"https:\/\/www.cybermedian.com\/pt\/wp-json\/wp\/v2\/media?parent=7033"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.cybermedian.com\/pt\/wp-json\/wp\/v2\/categories?post=7033"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.cybermedian.com\/pt\/wp-json\/wp\/v2\/tags?post=7033"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}