Wednesday, November 25, 2009

Model View Presenter

Secondo Wikipedia questo pattern nasce nei primi anni ‘90, da una joint venture fra Apple, IBM e HP.
Altre fonti identificano Mike Potel come ideatore di questo pattern.
L’idea alla base era quella di dividere ulteriormente i layer, creando delle model che siano adattabimi nelle applicazioni multi-tier e multi-client/server.
Rispetto all’MVC i vantaggi di MVP sono:
  • un ulteriore vantaggio nei test, creando delle classi mock
  • una separazione tra i DTO e la View
  • la View è un entità che chiunque può usare, basta che ne conosce l’interfaccia
Per un elenco completo dei vantaggi/svantaggio tra MVP e MVC mi consiglio il seguente articolo: Model View Presenter (MVP) VS Model View Controller (MVC)

Martin Fowler segnala due possibili implementazioni dell’MVP:
  1. Supervising Controller
  2. Passive View

Quì potete trovare tante implementazioni di patterns MVC e MVP.
Personalmente mi sono sempre trovato bene con il pattern MVP – Passive View sia su applicazioni WinForm che ASP.NET.
Ciao

No comments:

Post a Comment