Front Controller & Presentation-Abstract-contrll

Preview:

Citation preview

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

Recommended