2011-01-19 14 views

risposta

10

In MVP il Presenter assume la funzionalità di "middle-man" (riprodotto dal controller dell'applicazione in MVC). Inoltre, la vista è responsabile della gestione degli eventi dell'interfaccia utente (come mouseDown, keyDown, ecc.), Che era il lavoro del controllore. Alla fine, il modello diventa strettamente un modello di dominio.

Dice Wikipedia.

Questo è un more detailed explanation on the differences between the two.

Vedere anche Martin Fowler's Retirement note for Model View Presenter.

6

In MVC, la vista viene aggiornata solo dal modello (ascoltando i suoi eventi). Non viene mai aggiornato dal controller. Ciò è problematico quando è necessario formattare i dati del modello per la vista, quindi la necessità di MVP.

In MVP-Passive View, la vista viene aggiornata solo dal presentatore (il relatore imposta le proprietà di visualizzazione). Il relatore ascolta gli eventi sul modello [modificando i dati se necessario] prima di aggiornare la vista.

In MVP-Supervising Controller, la vista viene aggiornata dal modello o dal presentatore. Se non è richiesta alcuna formattazione, la vista si aggiorna automaticamente tramite il modello. Se è richiesta la formattazione, si aggiorna automaticamente tramite il relatore.

Problemi correlati