Banco de dados

Disponível somente no TrabalhosFeitos
  • Páginas : 6 (1320 palavras )
  • Download(s) : 0
  • Publicado : 14 de novembro de 2012
Ler documento completo
Amostra do texto
Design Patterns aplicados na arquitetura MVC
A arquitetura MVC utiliza padrões de projetos em suas camadas analisamos a arquitetura agora com os patterns.
O MVC usa outros padrões de projeto, tais como Factory Method, para especificar por padrão (by default) a classe controladora
para uma View e Decarator, para acrescentar capacidade de rolagem (scrolling) a uma View. Mais os principaisrelacionamentos do MVC
são fornecidos pelos padrões Observer, Composite, Strategy.
Os designs patterns nos ajuda á explicar a arquitetura MVC, e com eles podemos perceber que por traz do MVC pode conter um
conjunto de padrões trabalhando juntos em uma mesma estrutura. Abordamos agora os patterns Observer e Strategy que são padrões
comportamentais e o Composite padrão estrutural, o objetivo deabordar os patterns é para facilitar a compreensão de como a
arquitetura MVC trabalha, sabendo que é um padrão de arquitetural que confundem projetistas e desenvolvedores.
Nas palavras de Gamma et al. os principais padrões que o MVC utiliza são os Observer, Composite e o Strategy. Analisemos
a Figura do livro de Padrões de Projetos dos autores Freeman & Freeman que nos ajudará a explicar como ospadrões contribuem na
arquitetura MVC:
A visualização ou a View juntamente com o padrão Composite está á disposição do usuário esperando por qualquer evento,
quando este evento é ativado o controlador é avisado sobre o evento, este avisa para a visão se atualizar, e ao mesmo tempo manda o
modelo para que ele atue para contemplar o evento provocado pelo usuário, depois de atuado o modelo fica prontopara ser acessada pela
visualização esta por sua vez acessa e atualiza-se para o usuário assim funciona a arquitetura MVC em conjunto com os padrões de
projetos.

Figura(FREEMAN & FREEMAN, p. 424).
5.1 Padrões Estruturais Composite na camada da View.
Em aplicações gráficas como na interface com o usuário temos um conjunto de componentes aplicados, como botões, menus e
caixa de textos.
Ospadrões estruturais se preocupam com a forma como as classes e objetos são compostos para formar estruturas maiores. [...]
o Composite é um exemplo de padrão estrutural de objetos. Ele descreve como construir uma hierarquia de classe composta para dois tipos
de objetos: primitivos e compostos.
O padrão Composite é um padrão estrutural são usados na camada de visão os componentes das telas sãocompostos. “[...]
Quando o controlador determina á visualização que atualize a tela, esta tem de transmitir a ordem ao componente mais alto do nível, porque
o padrão Composite cuida do restante.” .
A visualização é composta por vários componentes, componentes de nível mais alto contém outros componentes, que contem
outros até chegarem aos nós – folhas, portando quando a informação do controllerchega a view manda a ordem para o componente de
maior nível.

5.2 Padrões Comportamentais: Observer na camada da Model, e Strategy na camada do Controller.

5.2.1 Padrão Observer
O Model por sua vez pode fazer o uso do padrão Observer que separa a visão do estado de um objeto do próprio objeto,
permitindo que sejam fornecidas visões alternativas mantendo os objetos interessadosconstantemente informados sobre suas mudanças de
estado.

“Esse padrão pode ser utilizado em todas as situações em que mais de um formato de display para informações de estado pode
ser requerido e em que não seja necessário para o objeto que mantém as informações de estado saber sobre os específicos formatos de
displays utilizados.” (SOMMERVILLE, 2003, p.273).
O uso do padrão Observer mantém o modelototalmente independente das visualizações e controladores, o que nos permite
utilizar múltiplas visualizações mesmo tempo como, por exemplo, graficamente ou como texto partindo do mesmo modelo.
5.2.2 Padrão Strategy
O Controller por sua vez adota o padrão Strategy segundo Freeman & Freeman

“A visualização e o controlador utilizam uma estratégia que é fornecida pelo controlador. A...
tracking img