Wednesday, February 14, 2007

MVP (aka Model-View-Presenter)

O MVP é uma derivação do MVC, concentrando-se essencialmente no "modelo" do MVC.

Em vez de um Controller, temos um Presenter, responsável por coordenar a aplicação.
O objectivo do Presenter é interpretar eventos e executar a lógica que mapeia os eventos com o Model. O Presenter 'conhece' a View e fornece-lhe instruções. A vista é responsável por gerir os eventos despoletados pelo user (que no MVC são da responsabilidade do Controller), e o Model torna-se exclusivamente um Domain Model.

Resumidamente, as responsabilidades de cada um dividem-se da seguinte forma:
Presenter - representa e coordena a aplicação. À semelhança do Controller, liga a View e o Model.
Model - representa os dados do Domain.
View - representa a parte 'visivel' do Model (o layout!).

:)

No comments: