Tuesday 12 January 2010

Olimpo CMS em MVC ou MVP?

Desde que começei a desenvolver em ASP.NET sempre tive a preocupação de tudo o que faça em WindowsForms seja facilmente portado para WebForms, mas, infelizmente a complicação dos componentes sempre foi mais forte e nem sempre fui capaz de criar um ponte entre a camada de negócio (Business Rules) e a camade de apresentação  (Presentation Rules).

Esta complicação sempre se deveu ao facto de as DropDownList e ComboBox e as GridViews em WindowsForms e WebForms terem comportamentos muito diferentes.
Mesmo assim, sempre fui fascinado pelo MVP (Model-View-Presenter) e pala capacidade que este padrão tem tornar a camada de negócio e a camada de apresentação. Podemos ter ainda várias camadas de apresentação, pois, basta que cada uma implemente uma determinada Interface.

No blog do Phil Haack (Product Manager of Koders.com) podemos ver um exemplo de uma implementação do MVP.

À uns dias encontrei uma implementação do MVP para ASP.NET (como fizeram com o MVC) que apesar de ser uma implementação exclusiva para ASP.NET, penso ser uma claro avanço na na definição deste padrão.
Com MVP, podemos continuar a usar o ViewState, Session e Server objects bem como toda a definição da framework AJAX.NET exisistente.

Uma vantagem é que deixamos de ter que dominar o JavaScript e quem me conhece sabe que eu detesto JavaScript.

Assim, vou usar este padrão no desenvolvimento do Olimpo CMS. O meu eterno Pet Project.


Abraços
Paulo Aboim Pinto

No comments: