Escolar Documentos
Profissional Documentos
Cultura Documentos
Padres de Projeto
Aplicaes monolticas
Nos tempos antigos do reinado do grande porte e do computador pessoal independente um aplicativo era desenvolvido para ser usado em uma nica mquina. Geralmente este aplicativo continha todas a funcionalidades em um nico mdulo gerado por uma grande quantidade de linhas de cdigo e de manuteno nada fcil. A entrada do usurio , verificao , lgica de negcio e acesso a banco de dados estava presente em um mesmo lugar. Podemos definir este tipo de aplicao como aplicao de uma camada ou monoltica
13 de maio de 2011
Padres de Projeto
Aplicaes monolticas
13 de maio de 2011
Padres de Projeto
Aplicaes monolticas
s d U s e C a s e M ode l
: U su a ri o
F o rm C l i e n t e
13 de maio de 2011
Padres de Projeto
Modelo 2 Camadas
Camada de Apresentao com Regras de Negcio Juntas. Camada de Persistncia.
13 de maio de 2011
Padres de Projeto
Modelo 2 Camadas
13 de maio de 2011
Padres de Projeto
Modelo 3 Camadas
Modelo e cdigos construdos para representar as camadas. Os servidores no precisam estar necessariamente em mquinas diferentes, podem estar na mesma mquina. Porem questes de performance so relevantes. Camada de Apresentao Camada de Negcios Camada de Persistncia
13 de maio de 2011
Padres de Projeto
Modelo 3 Camadas
13 de maio de 2011
Padres de Projeto
Modelo 3 Camadas
APRESENTAO NEGCIO OU LGICA PERSISTNCIA (INTEGRAO)
SERVIDOR
NAVEGADOR WEB
SGDB
CLIENTE
CLIENTE - SERVIDOR
SERVIDOR
O modelo de trs camadas divide um aplicativo de modo que a lgica de negcio resida no meio das trs camadas fsicas. Isto chamado de camada fsica intermediria ou camada fsica de negcios. A maior parte do cdigo escrito reside na camada de apresentao e de negcio.
13 de maio de 2011
Padres de Projeto
13 de maio de 2011
10
Padres de Projeto
13 de maio de 2011
11
Padres de Projeto
A Inspirao
A idia de padres foi apresentada por Christopher Alexander em 1977 no contexto de Arquitetura (de prdios e cidades): Cada padro descreve um problema que ocorre repetidamente de novo e de novo em nosso ambiente, e ento descreve a parte central da soluo para aquele problema de uma forma que voc pode usar esta soluo um milho de vezes, sem nunca implementa-la duas vezes da mesma forma. Livros The Timeless Way of Building A Pattern Language: Towns, Buildings, and Construction serviram de inspirao para os desenvolvedores de software.
3A TADS e 4A SISINFO - Modelagem Orientada a Objetos - Prof Rodrigo Rocha Silva 12
13 de maio de 2011
Padres de Projeto
Catlogo de Solues
Um padro encerra o conhecimento de uma pessoa muito experiente em um determinado assunto de uma forma que este conhecimento pode ser transmitido para outras pessoas menos experientes. Outras cincias (p.ex. qumica) e engenharias possuem catlogos de solues. Desde 1995, o desenvolvimento de software passou a ter o seu primeiro catlogo de solues para projeto de software: o livro GoF.
13 de maio de 2011
13
Padres de Projeto
E. Gamma and R. Helm and R. Johnson and J. Vlissides. Design Patterns - Elements of Reusable Object-Oriented Software. Addison-Wesley, 1995.
13 de maio de 2011
14
Padres de Projeto
15
Padres de Projeto
"Os padres de projeto so descries de objetos que se comunicam e classes que so customizadas para resolver um problema genrico de design em um contexto especfico" Gamma, Helm, Vlissides & Johnson, sobre padres em software
13 de maio de 2011
16
Padres de Projeto
Um padro de projeto nomeia, abstrai e identifica os aspectos chave de uma estrutura de projeto comum para torn-la til para a criao de um projeto orientado a objetos reutilizvel.
13 de maio de 2011
17
Padres de Projeto
13 de maio de 2011
18
Padres de Projeto
Vocabulrio comum
Faz o sistema ficar menos complexo ao permitir que se fale em um nvel mais alto de abstrao.
13 de maio de 2011
19
Padres de Projeto
13 de maio de 2011
20
Padres de Projeto
O Formato de um Padro
Todo padro inclui Nome Problema Soluo Conseqncias / Foras
13 de maio de 2011
21
Padres de Projeto
Model-View-Controller
Model View Controller ou Modelo-Viso-Controlador um padro de arquitetura de aplicaes que visa separar a lgica da aplicao, da interface do usurio e do fluxo da aplicao. Permite que a mesma lgica de negcios possa ser acessada e visualizada por vrias interfaces.
13 de maio de 2011
22
Padres de Projeto
Model-View-Controller
Com as diversas possibilidades de interfaces que conhecemos hoje, a MVC uma ferramenta indispensvel para desenvolvermos sistemas.
13 de maio de 2011
23
Padres de Projeto
Model-View-Controller
Model Representa o modelo da sua aplicao, com as regras de negcio ( business logic ) e todo o processamento da aplicao; View Representa a informao e recolhe os dados fornecidos pelo usurio; Controller Recebe as informaes da entrada e as transmite para o modelo
13 de maio de 2011
24
Padres de Projeto
Model-View-Controller
13 de maio de 2011
25
Padres de Projeto
Model-View-Controller
Controle
Modelo
Outros
Persistncia
13 de maio de 2011
26
Padres de Projeto
Helper classes
C M
SGDB
NAVEGADOR WEB
V
CLIENTE - SERVIDOR
CLIENTE
SERVIDOR
SERVIDOR WEB
13 de maio de 2011
27
Padres de Projeto
13 de maio de 2011
28
Padres de Projeto
Vantagens do MVC
Como o modelo MVC gerencia mltiplos visualizadores usando o mesmo modelo fcil manter , testar e atualizar sistemas mltiplos muito simples incluir novos clientes apenas incluindo seus visualizadores e controles Torna a aplicao escalvel possvel ter desenvolvimento em paralelo para o modelo , visualizador e controle pois so independentes.
3A TADS e 4A SISINFO - Modelagem Orientada a Objetos - Prof Rodrigo Rocha Silva 29
13 de maio de 2011
Padres de Projeto
Desvantagens do MVC
Requer uma quantidade maior de tempo para analisar e modelar o sistema ; Requer pessoal especializado;
13 de maio de 2011
30