Date post: | 06-Jun-2015 |
Category: |
Technology |
Upload: | marcio-habigzang-brufatto |
View: | 785 times |
Download: | 0 times |
Front Controller&
Presentation-abstraction-control
Nadine HornMárcio H. Brufatto
Front Controller
Objetivo
Centralizar o processamento de requisições em uma única entrada. Front Controller permite criar uma interface genérica para processamento de requisições.
Estrutura UML
Problema
Criar uma estrutura para uma aplicação web complexa, alcançando a reutilização e a flexibilidade sem duplicar códigos.
Cliente
View
View
View
Cliente com acesso livre as views.
Regra
Regra
Regra
Solução
Colocar um objeto controller, que receberá as solicitações dos clientes, e redirecionará para o componente responsável.
Cliente
View
View
View
Commad
Helper
Commad
Helper
Commad
Helper
Controller
Quem utiliza?
• Spring – Java• CakePHP - PHP • Drupal – PHP• Symfony – PHP• Zend Framework – PHP• Rails – Ruby
Presentation-abstraction-control
Objetivo
Facilitar o entendimento e manutenção de aplicações complexas.
Criar uma estrutura de agentes organizados hierarquicamente que cooperem entre si, sendo que cada agente é responsável por uma funcionalidade da aplicação.
Estrutura
ControlControl
AbstractionAbstractionPresentationPresentation
Estrutura
Presentation ( apresentação )camada de mais alto nível que fornece
funcionalidades de interface humana-máquina.
Abstraction ( abstração ) camada responsável pelo core do
sistema, oferece funções para manipular o modelo de dados e resgatar informações do mesmo.
Estrutura
Control ( controle )camada responsável por:
- permitir que agentes de baixo nível acessem e manipulem o modelo de dados global.
- coordenar a hierarquia de todos os agentes
- manter informações sobre a interação do usuário com o sistema.
Estrutura de agentes
Problema
Criar uma estrutura para uma aplicação complexa, dividida em módulos ou distribuída na nuvem.
Solução
Trabalha com agentes delegando funções específicas a agentes mais especializados.
Estrutura da Solução
ControlControl
AbstractionAbstractionPresentationPresentation
PresentationPresentation
ControlControl
AbstractionAbstraction
Perguntas?
Referências
• http://si.uniminas.br/~angoti/arquivos/PadroesProjetoJEE.pdf - Front Controller
• http://martinfowler.com/eaaCatalog/frontController.html - Front Controller
• http://msdn.microsoft.com/en-us/library/ff648617.aspx - Front Controller
• http://en.wikipedia.org/wiki/Presentation-abstraction-control - Presentation-abstraction-control
• http://www.dossier-andreas.net/software_architecture/pac.html - Presentation-abstraction-control
• http://www.dimap.ufrn.br/~jair/as/slides/PadroesSI.pdf - Presentation-abstraction-control