SlideShare a Scribd company logo
1 of 22
Padrões de Projeto

Model View Controller

Charles Fortes
MTAC - Microsoft Technical Audience Contributor
MVC
Model View Controle Pattern

“O MVC é um padrão de projeto criado para separar o modelo do domínio, a
apresentação e as ações do usuário separado em três classes:
Modelo, Visão e Controlador.”
Adaptado de Burbeck92
MVC
Model View Controle Pattern

O MVC permite a separação clara dos interesses acerca do desenvolvimento da
camada de apresentação dos dados, permitindo dentre outras coisas, que cada
uma delas seja trabalhada em paralelo pelo profissional mais especializado.
MVC
Model View Controle Pattern

Além disto, permite um melhor reaproveitamento do código e facilidade de
manutenção e testes. Permitindo que um dado tenha diversas formas de
exibição conforme o contexto solicitado pelo usuário.
MVC
Model View Controle Pattern

Modelo
(Model)
MVC
Model View Controle Pattern

Model

O modelo representa os dados (a serem) persistidos e
suas regras de negócio, como por exemplo um usuário
ou um cliente

Ele pode por exemplo ser recuperado do banco de dados
para ser exibido ao usuário, pode ser alterado ou podese criar um novo
MVC
Model View Controle Pattern

Model

public class Usuario{
public string Nome {get; set;}
public string Email {get; set;}
}
MVC
Model View Controle Pattern

Visão
(View)
MVC
Model View Controle Pattern

View

A view é responsável pela apresentação dos dados ao
usuário, permitindo que ele interaja de forma controlada com o
modelo ou executando ações, como remover um item ou listar
produtos
MVC
Model View Controle Pattern

View

Um modelo pode ser exibido ao usuário na forma de diversas views,
como por exemplo, uma de listagem, uma de edição e uma de
exibição. Mas uma view não precisa necessariamente estar vinculada a
um modelo.
MVC
Model View Controle Pattern

View

Ações

Listagem do modelo
MVC
Model View Controle Pattern

Controlador
(Controller)
MVC
Model View Controle Pattern

Controller

Os controllers são responsáveis por receber as ações do usuário, que
podem vir de uma ação direta como acessar uma URL ou um link em
uma View
MVC
Model View Controle Pattern

Controller

O Controller recebe a ação do usuário, seleciona o(s) modelo(s)
que o usuário deseja interagir e seleciona a view pra exibir a
informação

Assim, um controller concentra as ações necessárias para
tratar um interesse do domínio.
MVC
Model View Controle Pattern

Actions

Controller de Usuário








Usuário
Dave

Listar Todos
Listar com a letra “D”
Cadastrar
Editar
Salvar
Remover
Autenticar
MVC
Model View Controle Pattern

Como funciona?
MVC
Model View Controle Pattern

De maneira geral...

Controller

Usuário
Dave

View

Modelo
Taco
MVC
Model View Controle Pattern

Acessando...

View

Modelo

Controller

Taco

Acessa URL

Carrega os modelos

Modelos solicitados

Seleciona a View

View com os dados do modelo montada

Usuário
Dave
MVC
Model View Controle Pattern

Modelo

Controller

Interagindo...

Taco

Criar um novo

Solicita a View de Criação
Nova view com modelo vazio
Preenche o modelo
Validações

Salvar

Usuário
Dave

Passa o modelo preenchido para ser salvo

View
MVC
Model View Controle Pattern

Let’s Try
HandsOn
MVC
Model View Controle Pattern

Obrigado

Veja sobre mim no próximo slide
MVC

It’s me!
Charles Fortes
MTAC - Microsoft Technical Audience Contributor
Comunidade Técnica Microsoft Belo Horizonte

Web
Desktop
Mobile
Desenvolvimento

Git
TFS
SVN
Versionamento

Eventos e Treinamentos

SQL
MySQL
NoSQL

@CharlesFortes

Bancos de Dados

Practices
Patterns
Modeling

Arquitetura

More Related Content

What's hot

Apresentação mvc
Apresentação mvcApresentação mvc
Apresentação mvcleopp
 
Arquitetura Model View Controller
Arquitetura Model View ControllerArquitetura Model View Controller
Arquitetura Model View ControllerLourdilene Souza
 
Como trabalhar com angular js
Como trabalhar com angular jsComo trabalhar com angular js
Como trabalhar com angular jsMatheus Lima
 
Arquitetura MVC, JavaBeans e DAO
Arquitetura MVC, JavaBeans e DAOArquitetura MVC, JavaBeans e DAO
Arquitetura MVC, JavaBeans e DAOLeonardo Sousa
 
[CLPE] Novidades do Asp.net mvc 2
[CLPE] Novidades do Asp.net mvc 2[CLPE] Novidades do Asp.net mvc 2
[CLPE] Novidades do Asp.net mvc 2Felipe Pimentel
 
Padrão Arquitetural MVC e suas aplicações para WEB
Padrão Arquitetural MVC e suas aplicações para WEBPadrão Arquitetural MVC e suas aplicações para WEB
Padrão Arquitetural MVC e suas aplicações para WEBRafael França
 
Jsf – Java Sever Faces
Jsf – Java Sever FacesJsf – Java Sever Faces
Jsf – Java Sever Facesbielgott
 
jQuery e ASP.Net MVC a dupla dinâmica
jQuery e ASP.Net MVC a dupla dinâmicajQuery e ASP.Net MVC a dupla dinâmica
jQuery e ASP.Net MVC a dupla dinâmicaVictor Cavalcante
 
Knockout JS - Uma framework para aplicações web
Knockout JS - Uma framework para aplicações webKnockout JS - Uma framework para aplicações web
Knockout JS - Uma framework para aplicações webMario Andrade
 
KnockoutJS com ASP.NET MVC3: Utilização na vida real
KnockoutJS com ASP.NET MVC3: Utilização na vida realKnockoutJS com ASP.NET MVC3: Utilização na vida real
KnockoutJS com ASP.NET MVC3: Utilização na vida realComunidade NetPonto
 

What's hot (14)

Apresentação mvc
Apresentação mvcApresentação mvc
Apresentação mvc
 
Arquitetura Model View Controller
Arquitetura Model View ControllerArquitetura Model View Controller
Arquitetura Model View Controller
 
Como trabalhar com angular js
Como trabalhar com angular jsComo trabalhar com angular js
Como trabalhar com angular js
 
ApresentaçãO Mvc
ApresentaçãO MvcApresentaçãO Mvc
ApresentaçãO Mvc
 
Arquitetura MVC, JavaBeans e DAO
Arquitetura MVC, JavaBeans e DAOArquitetura MVC, JavaBeans e DAO
Arquitetura MVC, JavaBeans e DAO
 
[CLPE] Novidades do Asp.net mvc 2
[CLPE] Novidades do Asp.net mvc 2[CLPE] Novidades do Asp.net mvc 2
[CLPE] Novidades do Asp.net mvc 2
 
ASP.NET MVC
ASP.NET MVCASP.NET MVC
ASP.NET MVC
 
Padrão Arquitetural MVC e suas aplicações para WEB
Padrão Arquitetural MVC e suas aplicações para WEBPadrão Arquitetural MVC e suas aplicações para WEB
Padrão Arquitetural MVC e suas aplicações para WEB
 
Jsf
JsfJsf
Jsf
 
Jsf – Java Sever Faces
Jsf – Java Sever FacesJsf – Java Sever Faces
Jsf – Java Sever Faces
 
Angular js
Angular jsAngular js
Angular js
 
jQuery e ASP.Net MVC a dupla dinâmica
jQuery e ASP.Net MVC a dupla dinâmicajQuery e ASP.Net MVC a dupla dinâmica
jQuery e ASP.Net MVC a dupla dinâmica
 
Knockout JS - Uma framework para aplicações web
Knockout JS - Uma framework para aplicações webKnockout JS - Uma framework para aplicações web
Knockout JS - Uma framework para aplicações web
 
KnockoutJS com ASP.NET MVC3: Utilização na vida real
KnockoutJS com ASP.NET MVC3: Utilização na vida realKnockoutJS com ASP.NET MVC3: Utilização na vida real
KnockoutJS com ASP.NET MVC3: Utilização na vida real
 

Viewers also liked

Pitagoras - Introdução a Programação Orientada a Objetos - Conceitos
Pitagoras - Introdução a Programação Orientada a Objetos - ConceitosPitagoras - Introdução a Programação Orientada a Objetos - Conceitos
Pitagoras - Introdução a Programação Orientada a Objetos - ConceitosCharles Fortes
 
Medição de esforço - Como combrar meus freelas
Medição de esforço - Como combrar meus freelasMedição de esforço - Como combrar meus freelas
Medição de esforço - Como combrar meus freelasCharles Fortes
 
Pitagoras - Introdução a Programação Orientada a Objetos - Encapsulamento, Ac...
Pitagoras - Introdução a Programação Orientada a Objetos - Encapsulamento, Ac...Pitagoras - Introdução a Programação Orientada a Objetos - Encapsulamento, Ac...
Pitagoras - Introdução a Programação Orientada a Objetos - Encapsulamento, Ac...Charles Fortes
 
Pitagoras - Introdução a Programação Orientada a Objetos - Revisão Final
Pitagoras - Introdução a Programação Orientada a Objetos - Revisão FinalPitagoras - Introdução a Programação Orientada a Objetos - Revisão Final
Pitagoras - Introdução a Programação Orientada a Objetos - Revisão FinalCharles Fortes
 
Desenvolvimento de software seguro
Desenvolvimento de software seguroDesenvolvimento de software seguro
Desenvolvimento de software seguroCharles Fortes
 
Sistemas Operacionais - Aula 5 - Concorrência
Sistemas Operacionais - Aula 5 - ConcorrênciaSistemas Operacionais - Aula 5 - Concorrência
Sistemas Operacionais - Aula 5 - ConcorrênciaCharles Fortes
 
Introdução a Desenvolvimento de Jogos HTML 5 para Windows 8 com Html5Quintus
Introdução a Desenvolvimento de Jogos HTML 5 para Windows 8 com Html5QuintusIntrodução a Desenvolvimento de Jogos HTML 5 para Windows 8 com Html5Quintus
Introdução a Desenvolvimento de Jogos HTML 5 para Windows 8 com Html5QuintusCharles Fortes
 
Apresentação prof e materia
Apresentação prof e materiaApresentação prof e materia
Apresentação prof e materiaCharles Fortes
 
PE-I - Apresentação Professor
PE-I - Apresentação ProfessorPE-I - Apresentação Professor
PE-I - Apresentação ProfessorCharles Fortes
 
Programação Estruturada 2 - Revisão C
Programação Estruturada 2 - Revisão CProgramação Estruturada 2 - Revisão C
Programação Estruturada 2 - Revisão CCharles Fortes
 
Sistemas Operacionais - Aula 7 - Processos e Threads
Sistemas Operacionais - Aula 7 - Processos e ThreadsSistemas Operacionais - Aula 7 - Processos e Threads
Sistemas Operacionais - Aula 7 - Processos e ThreadsCharles Fortes
 
PE2 - Funções e Structs
PE2 - Funções e StructsPE2 - Funções e Structs
PE2 - Funções e StructsCharles Fortes
 
Conceitos – Do Homem à Máquina
Conceitos – Do Homem à MáquinaConceitos – Do Homem à Máquina
Conceitos – Do Homem à MáquinaCharles Fortes
 
Programação Genetica
Programação GeneticaProgramação Genetica
Programação GeneticaCharles Fortes
 
IA - Apresentação do Professor
IA - Apresentação do ProfessorIA - Apresentação do Professor
IA - Apresentação do ProfessorCharles Fortes
 

Viewers also liked (20)

Pitagoras - Introdução a Programação Orientada a Objetos - Conceitos
Pitagoras - Introdução a Programação Orientada a Objetos - ConceitosPitagoras - Introdução a Programação Orientada a Objetos - Conceitos
Pitagoras - Introdução a Programação Orientada a Objetos - Conceitos
 
Introdução ao TDD
Introdução ao TDDIntrodução ao TDD
Introdução ao TDD
 
Medição de esforço - Como combrar meus freelas
Medição de esforço - Como combrar meus freelasMedição de esforço - Como combrar meus freelas
Medição de esforço - Como combrar meus freelas
 
Pdm -final
Pdm  -finalPdm  -final
Pdm -final
 
Pitagoras - Introdução a Programação Orientada a Objetos - Encapsulamento, Ac...
Pitagoras - Introdução a Programação Orientada a Objetos - Encapsulamento, Ac...Pitagoras - Introdução a Programação Orientada a Objetos - Encapsulamento, Ac...
Pitagoras - Introdução a Programação Orientada a Objetos - Encapsulamento, Ac...
 
Pitagoras - Introdução a Programação Orientada a Objetos - Revisão Final
Pitagoras - Introdução a Programação Orientada a Objetos - Revisão FinalPitagoras - Introdução a Programação Orientada a Objetos - Revisão Final
Pitagoras - Introdução a Programação Orientada a Objetos - Revisão Final
 
Introdução ao DDD
Introdução ao DDDIntrodução ao DDD
Introdução ao DDD
 
Desenvolvimento de software seguro
Desenvolvimento de software seguroDesenvolvimento de software seguro
Desenvolvimento de software seguro
 
Lambda Expressions
Lambda ExpressionsLambda Expressions
Lambda Expressions
 
Sistemas Operacionais - Aula 5 - Concorrência
Sistemas Operacionais - Aula 5 - ConcorrênciaSistemas Operacionais - Aula 5 - Concorrência
Sistemas Operacionais - Aula 5 - Concorrência
 
Introdução a Desenvolvimento de Jogos HTML 5 para Windows 8 com Html5Quintus
Introdução a Desenvolvimento de Jogos HTML 5 para Windows 8 com Html5QuintusIntrodução a Desenvolvimento de Jogos HTML 5 para Windows 8 com Html5Quintus
Introdução a Desenvolvimento de Jogos HTML 5 para Windows 8 com Html5Quintus
 
Apresentação prof e materia
Apresentação prof e materiaApresentação prof e materia
Apresentação prof e materia
 
Metodologias ageis
Metodologias ageisMetodologias ageis
Metodologias ageis
 
PE-I - Apresentação Professor
PE-I - Apresentação ProfessorPE-I - Apresentação Professor
PE-I - Apresentação Professor
 
Programação Estruturada 2 - Revisão C
Programação Estruturada 2 - Revisão CProgramação Estruturada 2 - Revisão C
Programação Estruturada 2 - Revisão C
 
Sistemas Operacionais - Aula 7 - Processos e Threads
Sistemas Operacionais - Aula 7 - Processos e ThreadsSistemas Operacionais - Aula 7 - Processos e Threads
Sistemas Operacionais - Aula 7 - Processos e Threads
 
PE2 - Funções e Structs
PE2 - Funções e StructsPE2 - Funções e Structs
PE2 - Funções e Structs
 
Conceitos – Do Homem à Máquina
Conceitos – Do Homem à MáquinaConceitos – Do Homem à Máquina
Conceitos – Do Homem à Máquina
 
Programação Genetica
Programação GeneticaProgramação Genetica
Programação Genetica
 
IA - Apresentação do Professor
IA - Apresentação do ProfessorIA - Apresentação do Professor
IA - Apresentação do Professor
 

Similar to MVC Pattern

ASP.NET MVC - Alexandre Tarifa
ASP.NET MVC - Alexandre TarifaASP.NET MVC - Alexandre Tarifa
ASP.NET MVC - Alexandre Tarifaguestea329c
 
Treinamento Básico Sobre ASP.NET MVC
Treinamento Básico Sobre ASP.NET MVCTreinamento Básico Sobre ASP.NET MVC
Treinamento Básico Sobre ASP.NET MVCMichael Costa
 
Padrões Arquiteturais de Sistemas
Padrões Arquiteturais de SistemasPadrões Arquiteturais de Sistemas
Padrões Arquiteturais de SistemasVagner Santana
 
ASM.NET MVC 5 + Entity Framework - Explorando conceitos e criando um projeto ...
ASM.NET MVC 5 + Entity Framework - Explorando conceitos e criando um projeto ...ASM.NET MVC 5 + Entity Framework - Explorando conceitos e criando um projeto ...
ASM.NET MVC 5 + Entity Framework - Explorando conceitos e criando um projeto ...anybalrocha
 
Palestra MVC - Online tech day 2010
Palestra MVC - Online tech day 2010Palestra MVC - Online tech day 2010
Palestra MVC - Online tech day 2010Alexandre Tarifa
 
Infoeste 2014 - Desenvolvimento de um CMS com Codeigniter Framework(PHP)
Infoeste 2014 - Desenvolvimento de um CMS com Codeigniter Framework(PHP)Infoeste 2014 - Desenvolvimento de um CMS com Codeigniter Framework(PHP)
Infoeste 2014 - Desenvolvimento de um CMS com Codeigniter Framework(PHP)Rafael Oliveira
 
Comtec2010 asp.net mvc
Comtec2010 asp.net mvcComtec2010 asp.net mvc
Comtec2010 asp.net mvcTadeu Matos
 
Introdução ao desenvolvimento front end usando bootstrap e angular js
Introdução ao desenvolvimento front end usando bootstrap e angular jsIntrodução ao desenvolvimento front end usando bootstrap e angular js
Introdução ao desenvolvimento front end usando bootstrap e angular jsCloves Moreira Junior
 
365on Lab Asp.Net MVC Fundamentos 01 Overview
365on Lab Asp.Net MVC Fundamentos 01 Overview365on Lab Asp.Net MVC Fundamentos 01 Overview
365on Lab Asp.Net MVC Fundamentos 01 OverviewAlexsandro Almeida
 
Java Web - MVC básico com JSP e Servlets
Java Web - MVC básico com JSP e ServletsJava Web - MVC básico com JSP e Servlets
Java Web - MVC básico com JSP e ServletsEduardo Mendes
 

Similar to MVC Pattern (20)

Apresentação M V C
Apresentação M V CApresentação M V C
Apresentação M V C
 
ASP.NET MVC - Alexandre Tarifa
ASP.NET MVC - Alexandre TarifaASP.NET MVC - Alexandre Tarifa
ASP.NET MVC - Alexandre Tarifa
 
ASP.NET MVC
ASP.NET MVCASP.NET MVC
ASP.NET MVC
 
Palestra ASP.NET MVC
Palestra ASP.NET MVCPalestra ASP.NET MVC
Palestra ASP.NET MVC
 
Treinamento Básico Sobre ASP.NET MVC
Treinamento Básico Sobre ASP.NET MVCTreinamento Básico Sobre ASP.NET MVC
Treinamento Básico Sobre ASP.NET MVC
 
Treinamento MVC .Net
Treinamento MVC .NetTreinamento MVC .Net
Treinamento MVC .Net
 
Arquitetura MVC.pptx
Arquitetura MVC.pptxArquitetura MVC.pptx
Arquitetura MVC.pptx
 
Padrões Arquiteturais de Sistemas
Padrões Arquiteturais de SistemasPadrões Arquiteturais de Sistemas
Padrões Arquiteturais de Sistemas
 
ASP .NET MVC na Prática
ASP .NET MVC na PráticaASP .NET MVC na Prática
ASP .NET MVC na Prática
 
ASM.NET MVC 5 + Entity Framework - Explorando conceitos e criando um projeto ...
ASM.NET MVC 5 + Entity Framework - Explorando conceitos e criando um projeto ...ASM.NET MVC 5 + Entity Framework - Explorando conceitos e criando um projeto ...
ASM.NET MVC 5 + Entity Framework - Explorando conceitos e criando um projeto ...
 
Padrões de Projeto Web e o MVC
Padrões de Projeto Web e o MVCPadrões de Projeto Web e o MVC
Padrões de Projeto Web e o MVC
 
Palestra MVC - Online tech day 2010
Palestra MVC - Online tech day 2010Palestra MVC - Online tech day 2010
Palestra MVC - Online tech day 2010
 
Infoeste 2014 - Desenvolvimento de um CMS com Codeigniter Framework(PHP)
Infoeste 2014 - Desenvolvimento de um CMS com Codeigniter Framework(PHP)Infoeste 2014 - Desenvolvimento de um CMS com Codeigniter Framework(PHP)
Infoeste 2014 - Desenvolvimento de um CMS com Codeigniter Framework(PHP)
 
Comtec2010 asp.net mvc
Comtec2010 asp.net mvcComtec2010 asp.net mvc
Comtec2010 asp.net mvc
 
Introdução ao desenvolvimento front end usando bootstrap e angular js
Introdução ao desenvolvimento front end usando bootstrap e angular jsIntrodução ao desenvolvimento front end usando bootstrap e angular js
Introdução ao desenvolvimento front end usando bootstrap e angular js
 
Asp net mvc
Asp net mvcAsp net mvc
Asp net mvc
 
365on Lab Asp.Net MVC Fundamentos 01 Overview
365on Lab Asp.Net MVC Fundamentos 01 Overview365on Lab Asp.Net MVC Fundamentos 01 Overview
365on Lab Asp.Net MVC Fundamentos 01 Overview
 
Camadas
CamadasCamadas
Camadas
 
Angular js
Angular jsAngular js
Angular js
 
Java Web - MVC básico com JSP e Servlets
Java Web - MVC básico com JSP e ServletsJava Web - MVC básico com JSP e Servlets
Java Web - MVC básico com JSP e Servlets
 

More from Charles Fortes

Acesso a banco de dados com entity framework
Acesso a banco de dados com entity frameworkAcesso a banco de dados com entity framework
Acesso a banco de dados com entity frameworkCharles Fortes
 
inteligência artificial - fuzzy - mineração
inteligência artificial - fuzzy - mineraçãointeligência artificial - fuzzy - mineração
inteligência artificial - fuzzy - mineraçãoCharles Fortes
 
Programação Estruturada 2 - Apresentação do Professor
Programação Estruturada 2 - Apresentação do ProfessorProgramação Estruturada 2 - Apresentação do Professor
Programação Estruturada 2 - Apresentação do ProfessorCharles Fortes
 
IA - Introdução Inteligência Artificial
IA - Introdução Inteligência ArtificialIA - Introdução Inteligência Artificial
IA - Introdução Inteligência ArtificialCharles Fortes
 
PE1 - Comandos de Decisão
PE1 - Comandos de DecisãoPE1 - Comandos de Decisão
PE1 - Comandos de DecisãoCharles Fortes
 
PE1 - Revisão e Matéria sobre Laços (FOR, WHILE, DO-WHILE)
PE1 - Revisão e Matéria sobre Laços (FOR, WHILE, DO-WHILE)PE1 - Revisão e Matéria sobre Laços (FOR, WHILE, DO-WHILE)
PE1 - Revisão e Matéria sobre Laços (FOR, WHILE, DO-WHILE)Charles Fortes
 
LPC - aula 1 - Introdução .NET
LPC  - aula 1 - Introdução .NETLPC  - aula 1 - Introdução .NET
LPC - aula 1 - Introdução .NETCharles Fortes
 
LPC - Apresentação do Professor
LPC - Apresentação do ProfessorLPC - Apresentação do Professor
LPC - Apresentação do ProfessorCharles Fortes
 
Sistemas Operacionais - Aula 9 - Gerencia de Recursos
Sistemas Operacionais - Aula 9 - Gerencia de RecursosSistemas Operacionais - Aula 9 - Gerencia de Recursos
Sistemas Operacionais - Aula 9 - Gerencia de RecursosCharles Fortes
 
Sistemas Operacionais - Aula 8 - Sincronização e Comunicação entre Processos
Sistemas Operacionais - Aula 8 - Sincronização e Comunicação entre ProcessosSistemas Operacionais - Aula 8 - Sincronização e Comunicação entre Processos
Sistemas Operacionais - Aula 8 - Sincronização e Comunicação entre ProcessosCharles Fortes
 
Economia global: França e Inglaterra
Economia global: França e InglaterraEconomia global: França e Inglaterra
Economia global: França e InglaterraCharles Fortes
 
Sistemas Operacionais - Aula 6 - Estrutura do Sistema Operacional
Sistemas Operacionais - Aula 6 - Estrutura do Sistema OperacionalSistemas Operacionais - Aula 6 - Estrutura do Sistema Operacional
Sistemas Operacionais - Aula 6 - Estrutura do Sistema OperacionalCharles Fortes
 
Sistemas Operacionais - Aula 4 - Revisão e Exercícios
Sistemas Operacionais - Aula 4 - Revisão e ExercíciosSistemas Operacionais - Aula 4 - Revisão e Exercícios
Sistemas Operacionais - Aula 4 - Revisão e ExercíciosCharles Fortes
 
Sistemas Operacionais - Aula 3 - Hardware e Software
Sistemas Operacionais - Aula 3 - Hardware e SoftwareSistemas Operacionais - Aula 3 - Hardware e Software
Sistemas Operacionais - Aula 3 - Hardware e SoftwareCharles Fortes
 
Sistemas Operacionais - Aula 2 - Visão Geral de Sistemas Operacionais
Sistemas Operacionais - Aula 2 - Visão Geral de Sistemas OperacionaisSistemas Operacionais - Aula 2 - Visão Geral de Sistemas Operacionais
Sistemas Operacionais - Aula 2 - Visão Geral de Sistemas OperacionaisCharles Fortes
 
Sistemas Operacionais - Aula 1 - História e Introdução a SO
Sistemas Operacionais - Aula 1 - História e Introdução a SOSistemas Operacionais - Aula 1 - História e Introdução a SO
Sistemas Operacionais - Aula 1 - História e Introdução a SOCharles Fortes
 

More from Charles Fortes (16)

Acesso a banco de dados com entity framework
Acesso a banco de dados com entity frameworkAcesso a banco de dados com entity framework
Acesso a banco de dados com entity framework
 
inteligência artificial - fuzzy - mineração
inteligência artificial - fuzzy - mineraçãointeligência artificial - fuzzy - mineração
inteligência artificial - fuzzy - mineração
 
Programação Estruturada 2 - Apresentação do Professor
Programação Estruturada 2 - Apresentação do ProfessorProgramação Estruturada 2 - Apresentação do Professor
Programação Estruturada 2 - Apresentação do Professor
 
IA - Introdução Inteligência Artificial
IA - Introdução Inteligência ArtificialIA - Introdução Inteligência Artificial
IA - Introdução Inteligência Artificial
 
PE1 - Comandos de Decisão
PE1 - Comandos de DecisãoPE1 - Comandos de Decisão
PE1 - Comandos de Decisão
 
PE1 - Revisão e Matéria sobre Laços (FOR, WHILE, DO-WHILE)
PE1 - Revisão e Matéria sobre Laços (FOR, WHILE, DO-WHILE)PE1 - Revisão e Matéria sobre Laços (FOR, WHILE, DO-WHILE)
PE1 - Revisão e Matéria sobre Laços (FOR, WHILE, DO-WHILE)
 
LPC - aula 1 - Introdução .NET
LPC  - aula 1 - Introdução .NETLPC  - aula 1 - Introdução .NET
LPC - aula 1 - Introdução .NET
 
LPC - Apresentação do Professor
LPC - Apresentação do ProfessorLPC - Apresentação do Professor
LPC - Apresentação do Professor
 
Sistemas Operacionais - Aula 9 - Gerencia de Recursos
Sistemas Operacionais - Aula 9 - Gerencia de RecursosSistemas Operacionais - Aula 9 - Gerencia de Recursos
Sistemas Operacionais - Aula 9 - Gerencia de Recursos
 
Sistemas Operacionais - Aula 8 - Sincronização e Comunicação entre Processos
Sistemas Operacionais - Aula 8 - Sincronização e Comunicação entre ProcessosSistemas Operacionais - Aula 8 - Sincronização e Comunicação entre Processos
Sistemas Operacionais - Aula 8 - Sincronização e Comunicação entre Processos
 
Economia global: França e Inglaterra
Economia global: França e InglaterraEconomia global: França e Inglaterra
Economia global: França e Inglaterra
 
Sistemas Operacionais - Aula 6 - Estrutura do Sistema Operacional
Sistemas Operacionais - Aula 6 - Estrutura do Sistema OperacionalSistemas Operacionais - Aula 6 - Estrutura do Sistema Operacional
Sistemas Operacionais - Aula 6 - Estrutura do Sistema Operacional
 
Sistemas Operacionais - Aula 4 - Revisão e Exercícios
Sistemas Operacionais - Aula 4 - Revisão e ExercíciosSistemas Operacionais - Aula 4 - Revisão e Exercícios
Sistemas Operacionais - Aula 4 - Revisão e Exercícios
 
Sistemas Operacionais - Aula 3 - Hardware e Software
Sistemas Operacionais - Aula 3 - Hardware e SoftwareSistemas Operacionais - Aula 3 - Hardware e Software
Sistemas Operacionais - Aula 3 - Hardware e Software
 
Sistemas Operacionais - Aula 2 - Visão Geral de Sistemas Operacionais
Sistemas Operacionais - Aula 2 - Visão Geral de Sistemas OperacionaisSistemas Operacionais - Aula 2 - Visão Geral de Sistemas Operacionais
Sistemas Operacionais - Aula 2 - Visão Geral de Sistemas Operacionais
 
Sistemas Operacionais - Aula 1 - História e Introdução a SO
Sistemas Operacionais - Aula 1 - História e Introdução a SOSistemas Operacionais - Aula 1 - História e Introdução a SO
Sistemas Operacionais - Aula 1 - História e Introdução a SO
 

Recently uploaded

Boas práticas de programação com Object Calisthenics
Boas práticas de programação com Object CalisthenicsBoas práticas de programação com Object Calisthenics
Boas práticas de programação com Object CalisthenicsDanilo Pinotti
 
Padrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemploPadrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemploDanilo Pinotti
 
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docxATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx2m Assessoria
 
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docxATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx2m Assessoria
 
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docxATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx2m Assessoria
 
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docxATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx2m Assessoria
 

Recently uploaded (6)

Boas práticas de programação com Object Calisthenics
Boas práticas de programação com Object CalisthenicsBoas práticas de programação com Object Calisthenics
Boas práticas de programação com Object Calisthenics
 
Padrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemploPadrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemplo
 
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docxATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
 
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docxATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
 
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docxATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
 
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docxATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
 

MVC Pattern

  • 1. Padrões de Projeto Model View Controller Charles Fortes MTAC - Microsoft Technical Audience Contributor
  • 2. MVC Model View Controle Pattern “O MVC é um padrão de projeto criado para separar o modelo do domínio, a apresentação e as ações do usuário separado em três classes: Modelo, Visão e Controlador.” Adaptado de Burbeck92
  • 3. MVC Model View Controle Pattern O MVC permite a separação clara dos interesses acerca do desenvolvimento da camada de apresentação dos dados, permitindo dentre outras coisas, que cada uma delas seja trabalhada em paralelo pelo profissional mais especializado.
  • 4. MVC Model View Controle Pattern Além disto, permite um melhor reaproveitamento do código e facilidade de manutenção e testes. Permitindo que um dado tenha diversas formas de exibição conforme o contexto solicitado pelo usuário.
  • 5. MVC Model View Controle Pattern Modelo (Model)
  • 6. MVC Model View Controle Pattern Model O modelo representa os dados (a serem) persistidos e suas regras de negócio, como por exemplo um usuário ou um cliente Ele pode por exemplo ser recuperado do banco de dados para ser exibido ao usuário, pode ser alterado ou podese criar um novo
  • 7. MVC Model View Controle Pattern Model public class Usuario{ public string Nome {get; set;} public string Email {get; set;} }
  • 8. MVC Model View Controle Pattern Visão (View)
  • 9. MVC Model View Controle Pattern View A view é responsável pela apresentação dos dados ao usuário, permitindo que ele interaja de forma controlada com o modelo ou executando ações, como remover um item ou listar produtos
  • 10. MVC Model View Controle Pattern View Um modelo pode ser exibido ao usuário na forma de diversas views, como por exemplo, uma de listagem, uma de edição e uma de exibição. Mas uma view não precisa necessariamente estar vinculada a um modelo.
  • 11. MVC Model View Controle Pattern View Ações Listagem do modelo
  • 12. MVC Model View Controle Pattern Controlador (Controller)
  • 13. MVC Model View Controle Pattern Controller Os controllers são responsáveis por receber as ações do usuário, que podem vir de uma ação direta como acessar uma URL ou um link em uma View
  • 14. MVC Model View Controle Pattern Controller O Controller recebe a ação do usuário, seleciona o(s) modelo(s) que o usuário deseja interagir e seleciona a view pra exibir a informação Assim, um controller concentra as ações necessárias para tratar um interesse do domínio.
  • 15. MVC Model View Controle Pattern Actions Controller de Usuário        Usuário Dave Listar Todos Listar com a letra “D” Cadastrar Editar Salvar Remover Autenticar
  • 16. MVC Model View Controle Pattern Como funciona?
  • 17. MVC Model View Controle Pattern De maneira geral... Controller Usuário Dave View Modelo Taco
  • 18. MVC Model View Controle Pattern Acessando... View Modelo Controller Taco Acessa URL Carrega os modelos Modelos solicitados Seleciona a View View com os dados do modelo montada Usuário Dave
  • 19. MVC Model View Controle Pattern Modelo Controller Interagindo... Taco Criar um novo Solicita a View de Criação Nova view com modelo vazio Preenche o modelo Validações Salvar Usuário Dave Passa o modelo preenchido para ser salvo View
  • 20. MVC Model View Controle Pattern Let’s Try HandsOn
  • 21. MVC Model View Controle Pattern Obrigado Veja sobre mim no próximo slide
  • 22. MVC It’s me! Charles Fortes MTAC - Microsoft Technical Audience Contributor Comunidade Técnica Microsoft Belo Horizonte Web Desktop Mobile Desenvolvimento Git TFS SVN Versionamento Eventos e Treinamentos SQL MySQL NoSQL @CharlesFortes Bancos de Dados Practices Patterns Modeling Arquitetura