Noções do padrão MVC e DAO

Documentos relacionados
PROGRAMAÇÃO SERVIDOR PADRÕES MVC E DAO EM SISTEMAS WEB. Prof. Dr. Daniel Caetano

Trabalhando com MDI e Menus

Trabalhando com ToolStrip, ToolTip e StatusStrip

Classes, Métodos e Propriedades

Acesso a Banco de Dados usando C# (Usando o MySql ADO.NET Provider)

Campus Capivari Análise e Desenvolvimento de Sistemas (ADS) Prof. André Luís Belini /

M V C P R O F. M E. H É L I O E S P E R I D I Ã O

Elementos da Linguagem C#

Microsoft Visual Studio Community 2013

Elementos da Linguagem C#

ESET Secure Authentication

Introdução a Sistemas Distribuídos

Desafios do desenvolvimento de Software (Desenvolvimento Tradicional x Desenvolvimento Ágil)

Padrões Arquitetônicos

Curso online de Fundamentos em Android. Plano de Estudo

Access Prof. Ari Oliveira

Modelagem de Dados MODELAGEM DE DADOS. Sistemas de Banco de Dados. Profa. Rosemary Melo

Manipulação de Dados em PHP (Integração PHP e MySql) Parte 1

Criando uma aplicação web

Soluções reutilizáveis para situações ou problemas encontrados comumente em desenvolvimento de software orientado a objetos.

SOFTWARE. Disciplina: Informática Professor: Gustavo Sabry

Objetos e Componentes Distribuídos: EJB

Classes de Projeto. Prof. Anderson Cavalcanti UFRN-CT-DCA

Prof. Esp. Fabiano Taguchi SOFTWARES

Notification. Programação de Dispositivos Móveis. Mauro Lopes Carvalho Silva. Professor EBTT DAI Departamento de Informática Campus Monte Castelo

Arquitetura em Camadas

2 Metodologias para Projetos de Aplicações Hipermidia

Conceitos Básicos. Fundação Centro de Análise, Pesquisa e Inovação Tecnológica Instituto de Ensino Superior - FUCAPI. Disciplina: Banco de Dados

Apresentação da Disciplina e Revisão dos Conceitos de Orientação a Objetos

Aula 7 TECNOLOGIA EM JOGOS DIGITAIS JOGOS MULTI PLAYER. Marcelo Henrique dos Santos

Bancos de Dados Notas de Aula Introdução Prof. Dr. Daniel A. Furtado

Framework.NET. Linguagem de Programação III. Mauro Lopes Carvalho Silva. Professor EBTT DAI Departamento Acadêmico de Informática Campus Monte Castelo

EA975 - Laboratório de Engenharia de Software

Definindo um padrão para arquitetura Web

Ambiente de Programação Visual. Framework.NET. Prof. Mauro Lopes. Ambiente de Programação Visual Prof. Mauro Lopes

Documento de Arquitetura de Software- SGE

Modelagem de Dados MODELAGEM DE DADOS. Sistemas de Banco de Dados. Profa. Rosemary Melo

PROJETO ARQUITETURAL PARTE II: PADRÕES DE PROJETO. Projeto de Programas PPR0001

Módulo II Arquitetura em Camadas

Banco de Dados. Aula 2 - Prof. Bruno Moreno 19/08/2011

SISTEMAS DE BANCOS DE DADOS: CONCEITOS E ARQUITETURA

Objetos e Componentes Distribuídos: EJB e CORBA

Desenvolvimento de um aplicativo básico usando o Google Android

Desenvolvimento Web TCC Turma A-1

Introdução a Computação em Nuvem

Introdução a Computação em Nuvem

Introdução à Informática

Acesso a Banco de Dados usando C#

Extreme Programming: Valores e Práticas

Criando uma aplicação web. Parte 1

Acesso a Banco de Dados usando C# (MySql Provider)

Adriano Maranhão PROFISSIONAIS E ATIVIDADES ENVOLVIDAS EM UM SGBD

Banco de Dados. Perspectiva Histórica dos Bancos de Dados. Prof. Walteno Martins Parreira Jr

De Olho na Pista. Documento de Arquitetura. De Olho na Pista Documento de Arquitetura Data: 23/03/2013. AJA Software

Algoritmos Computacionais

Capítulo 1 - Lógica e Algoritmos

Conceitos de Orientação a Objetos

SMART NOTE : ORGANIZAR SUAS ANOTAÇÕES DE FORMA INTELIGENTE. Thiago Sousa Della Noce¹ ¹Universidade de Uberaba - UNIUBE, Uberaba - Minas Gerais

ALUNO: RONI FABIO BANASZEWSKI

Projeto de Sistemas; Projeto Orientado a Objetos; Estruturação em Camadas; Projeto Orientado a Objetos em Camadas; Um Exemplo Ilustrativo.

Conteúdo Programático

arquitetura shared-nothing em 3 camadas

MVC e DAO. Tiago Alves de Oliveira

Introdução à Análise e Projeto de Sistemas

Modelos de Ciclo de Vida (Parte 1)

Aula 01. Introdução aos sistemas de informação Conceitos de banco de dados Modelos de BD Linguagens de Banco de Dados Usuários de um Banco de Dados

Conceitos, Arquitetura e Design

Sistema de Informação Geográfica

Introdução à Informática. Professor: Francisco Ary

Introdução aos computadores, à Internet e à World Wide Web. Prof. Marcelo Roberto Zorzan

Sistemas de Informação (SI) Infraestrutra de Tecnologia da Informação (TI): Software

BD e Aplicações em Negócios

PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS. Prof. Angelo Augusto Frozza, M.Sc.

Computação II Orientação a Objetos

Programação para dispositivos móveis. Cassio Diego cassiodiego.com/m

Sistemas Operacionais. Conceitos de Hardware e Arquitetura de computadores

Engenharia de Software. Projeto de Arquitetura

GERADOR DE INTERFACES GRÁFICAS PARA IOS GABRIEL SEBASTIAN RAMIREZ JOYCE MARTINS

ATIVIDADES PRÁTICAS SUPERVISIONADAS

Aula 01 Conceito de Banco de Dados e SGBD

Programação Estruturada

Computação II Orientação a Objetos

RPC e RMI. Sistemas Distribuídos. Mauro Lopes Carvalho Silva. Professor EBTT DAI Departamento de Informática Campus Monte Castelo

INTRODUÇÃO À PROGRAMAÇÃO. Introdução à Algoritmos. Prof. Me. Sérgio Carlos Portari Júnior

Interface Humano- Computador (IHC) Prof. Dr. Ronaldo Barbosa

Desenvolvedor Android: Avançado. Plano de Estudo

Introdução à Informática. Professor: Francisco Ary

Ambiente Educacional Interativo Móvel para atividade em sala de aula 1

O que é um sistema distribuído?

Sistema Operacional. Prof. Leonardo Barreto Campos. 1/30

PROGRAMAÇÃO SERVIDOR PADRÕES MVC E DAO EM SISTEMAS WEB. Prof. Dr. Daniel Caetano

PROVA DE CONHECIMENTOS ESPECÍFICOS

Java RMI. Sistemas Distribuídos. Mauro Lopes Carvalho Silva. Professor EBTT DAI Departamento de Informática Campus Monte Castelo

Transcrição:

Ambiente de Programação Visual Noções do padrão MVC e DAO Prof. Mauro Lopes 1-31 18

Objetivos Nesta aula iremos apresentar os conceitos introdutórios sobre Padrões de Projetos. Nesta introdução iremos apresentar dois elementos simples: Padrão MVC e o Padrão DAO. Ao final desta aula, o aluno poderá implementar pequenas aplicações que utilizam os conceitos abordados. Boa aula a todos. 2

Plano de Aula Introdução Padrão MVC Padrão DAO Considerações sobre os Padrões 3

Introdução Um mesmo aplicativo, o Facebook por exemplo, pode ser utilizado em vários equipamentos; Será que temos de ter várias implementações dele? Página Web (Computadores, TV, Celulares, etc) App (Tablets e Celulares) 4

Introdução As funcionalidades da página web do Facebook são as mesmas do aplicativo para celular (app)? Vamos supor que você seja contratado para trabalhar para dar manutenção na funcionalidade chamada curtir do Facebook; Vamos supor ainda que Zuckerberg pense numa nova forma de usar o curtir. Já imaginou ter de alterar esta funcionalidade? Imagine duas possibilidades: O curtir é codificado na página web e também codificado na App, ou seja, o mesmo código existe em dois locais diferentes; Com uso da Orientação a Objetos a funcionalidade curtir é uma única classe que é usada pela página web e pela App. 5

Introdução Qual a melhor possibilidade? Existe um conceito denominado Padrão de Projeto; Todo padrão de projeto tem: Um nome Que identifique claramente o que o padrão faz. Um objetivo Que descreva com detalhes a razão de ser do padrão. Um problema Uma situação de projeto cuja solução não é óbvia. Uma solução Detalhes de implementação da solução elegante. Consequências Pois não existe almoço grátis... 6

Padrão MVC Modelo... Visão... Controle... modelagem dos dados apresentação da aplicação processamento da aplicação Mas o que é esse padrão? Para entender...vamos entender o problema apresentado anteriormente. 7

Padrão MVC Processamento Apresentação Apresentação 8

Padrão MVC Objetivo: facilitar desenvolvimento, manutenção e reaproveitamento de código; Mudanças mais frequentes Interface com o Usuário (visão) Mudanças comuns Modelo de dados Mudanças menos comuns Processo de negócio (processamento). 9

Model INSTITUTO FEDERAL DE EDUCAÇÃO CIÊNCIA E TECNOLOGIA DO MARANHÃO IFMA Padrão MVC A camada Model (modelo) possui a representação das informações do programa. No nosso exemplo, esta camada irá implementar classes para representar as entidades envolvidas no programa. Por exemplo em um programa de frente de caixa, haveria classes para representar produtos, compras, notas fiscais, itens de notas fiscais, métodos de pagamento. Estas classes iriam também armazenar todas as ações que eventualmente o usuários necessitasse realizar sobre estas entidades. Normalmente as classes utilizam um sistema de banco de dados para fazer o armazenamento persistente. 10

View INSTITUTO FEDERAL DE EDUCAÇÃO CIÊNCIA E TECNOLOGIA DO MARANHÃO IFMA Padrão MVC A camada View (visão) é responsável por construir uma interface para interação do usuário. Ela prepara a apresentação da informação para que o usuário possa reagir as respostas e continuar utilizando o programa. Em C# utilizaremos os formulários e os vários elementos associados a ele para construirmos nossa visão. Observe que a camada View não acessa diretamente o banco de dados, ela recebe normalmente coleções de objetos geradas pelas classes da camada Model. 11

Control INSTITUTO FEDERAL DE EDUCAÇÃO CIÊNCIA E TECNOLOGIA DO MARANHÃO IFMA Padrão MVC A camada Control (controle) é a camada que controla o processo. Cada requisição do usuário é primeiro interpretado pela camada de controle que determina qual ação deve ser executada no modelo e encaminha depois a resposta do modelo para a camada de visão. 12

Padrão MVC Um importante padrão associado ao padrão MVC é o padrão DAO (Data Access Objects) 13

Padrão DAO Uma importante solução para separar o acesso a camada de dados; DAO significa Objetos de Acesso a Dados; Foi um padrão criado pela Microsoft; É um construtor de objetos com base nas informações do banco de dados; Padrão de Nome: NomeDaEntidadeDAO Por exemplo: JogoDAO Para armazenar um jogo na base de dados: JogoDAO.adiciona(objeto_jogo); Para buscar um Jogo da base de dados: Jogo meujogo = JogoDAO.busca( Fifa 15 ); 14

Considerações sobre os Padrões Aqui demos uma breve noção do conceito de Padrões de Projetos; Haverá uma disciplina, denominada Padrões de Projeto, que exclusivamente irá trabalhar o conjunto de padrões que fazem parte do Catálogo de Padrões de Projeto; Aqui apresentamos uma noção básica de Modelo MVC e DAO. Há muitos outros elementos que fazem parte destes modelos como uso de interfaces e outras formas de organizar a arquitetura da aplicação. 15

Perguntas Página do Professor Mauro: http://www.dai.ifma.edu.br/~mlcsilva 16

Próxima Aula... Usando DataGridView. 17

Referências Materiais avulsos da Internet e o livro C#: Guia do Programador, Joel Saade - Editora Novatec, 687 páginas. 18