20
Front Controller & Presentation-abstraction- control Nadine Horn Márcio H. Brufatto

Front Controller & Presentation-Abstract-contrll

Embed Size (px)

Citation preview

Page 1: Front Controller & Presentation-Abstract-contrll

Front Controller&

Presentation-abstraction-control

Nadine HornMárcio H. Brufatto

Page 2: Front Controller & Presentation-Abstract-contrll

Front Controller

Page 3: Front Controller & Presentation-Abstract-contrll

Objetivo

Centralizar o processamento de requisições em uma única entrada. Front Controller permite criar uma interface genérica para processamento de requisições.

Page 4: Front Controller & Presentation-Abstract-contrll

Estrutura UML

Page 5: Front Controller & Presentation-Abstract-contrll

Problema

Criar uma estrutura para uma aplicação web complexa, alcançando a reutilização e a flexibilidade sem duplicar códigos.

Page 6: Front Controller & Presentation-Abstract-contrll

Cliente

View

View

View

Cliente com acesso livre as views.

Regra

Regra

Regra

Page 7: Front Controller & Presentation-Abstract-contrll

Solução

Colocar um objeto controller, que receberá as solicitações dos clientes, e redirecionará para o componente responsável.

Page 8: Front Controller & Presentation-Abstract-contrll

Cliente

View

View

View

Commad

Helper

Commad

Helper

Commad

Helper

Controller

Page 9: Front Controller & Presentation-Abstract-contrll

Quem utiliza?

• Spring – Java• CakePHP - PHP • Drupal – PHP• Symfony – PHP• Zend Framework – PHP• Rails – Ruby

Page 10: Front Controller & Presentation-Abstract-contrll

Presentation-abstraction-control

Page 11: Front Controller & Presentation-Abstract-contrll

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. 

Page 12: Front Controller & Presentation-Abstract-contrll

Estrutura

ControlControl

AbstractionAbstractionPresentationPresentation

Page 13: Front Controller & Presentation-Abstract-contrll

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.

Page 14: Front Controller & Presentation-Abstract-contrll

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.

Page 15: Front Controller & Presentation-Abstract-contrll

Estrutura de agentes

Page 16: Front Controller & Presentation-Abstract-contrll

Problema

Criar uma estrutura para uma aplicação complexa, dividida em módulos ou distribuída na nuvem.

Page 17: Front Controller & Presentation-Abstract-contrll

Solução

Trabalha com agentes delegando funções específicas a agentes mais especializados.

Page 18: Front Controller & Presentation-Abstract-contrll

Estrutura da Solução

ControlControl

AbstractionAbstractionPresentationPresentation

PresentationPresentation

ControlControl

AbstractionAbstraction

Page 19: Front Controller & Presentation-Abstract-contrll

Perguntas?

Page 20: Front Controller & Presentation-Abstract-contrll

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