Domanda

Sto leggendo il modello MVP ASP.net in questo fine settimana e sembra che anche il compito più semplice faccia troppi sforzi se lo fai nel modello MVP, il pay off sembra essere su un progetto più grande, ma penso a me stesso se seguirò MVP. Perché non fare semplicemente il progetto in ASP.net MVC?

Il motivo per cui sto osservando il modello MVP è perché ho notato in tutti i miei progetti Webform ASP.net che c'è un sacco di codice nel codice dietro solo per la gestione degli eventi se ho un sacco di controllo del server sul modulo web, quindi stavo cercando il modo per ridurlo e trovare il modello MVP.

Vale la pena di seguire il modello MVP o semplicemente passare al MVC ASP.net?

È stato utile?

Soluzione

Se si avvia un nuovo progetto, allora ASP.net MVC è una scelta migliore. Ma se vuoi solo riformattare un progetto esistente come hai appena detto, MVP è l'opzione perché non esiste un modo semplice per convertire quei codici di moduli Web in MVC.

Altri suggerimenti

Consiglierei di leggere i due link seguenti per aggiornarti su MVP e MVC:

Dovresti cambiare?
Sulla base di ciò che mi hai detto, ti consiglio di utilizzare il modello MVP passivo menzionato nell'articolo precedente.

Le mie ipotesi principali sono:

  1. Stai gestendo una base di codice esistente di app WebForms
  2. È necessario utilizzare i controlli .Net di ThirdParty per le funzionalità esistenti
  3. Lavori su app esistenti e non hai tempo di riprogettarle
  4. Qualsiasi app Web ASP.Net su cui lavori in futuro, puoi applicare in modo incrementale l'MVP passivo e ottenere immediatamente i vantaggi di TDD

La tua vista (codebehind + aspx) diventa essenzialmente stupida ed esegue semplicemente semplici compiti:

  • accetta le informazioni fornite dal presentatore
  • risponde agli eventi e fornisce informazioni al presentatore

Ho usato ampiamente questo modello per lo sviluppo di Web Form e non potevo immaginare di non essere in grado di testare il mio modello e il codice Presenter. Una volta stabilito il modello di base che non richiede molto tempo e si vede la potenza del test unitario, lavorare con i moduli Web diventa divertente.

Alcuni collegamenti a elementi MVP su cui si basa il modello che ho usato:

Vorrei anche raccomandare di imparare MVC a.
Quando il tempo lo consente, prendi un'app esistente e portala su MVC. In questo modo il tuo unico obiettivo è conoscere MVC e quando sposti la logica nel modello MVC, scoprirai cose che hai implementato in WebForms e a cui non hai mai pensato molto, ma che ora devi risolvere in un altro modo. Ottimo modo per confrontare i modelli e vedere cosa funziona per te.

Spero che questo aiuti, sentiti libero di fare qualsiasi domanda.

A mio avviso, il modo ideale per nuove applicazioni è MVC. Tuttavia, se hai già molto codice che utilizza WebForms, il modello MVP è la strada da percorrere.

Vorrei Asp.Net MVC se si tratta di un nuovo progetto, ma sono d'accordo, MVP potrebbe essere un buon modello per progetti di moduli web legacy.

Ecco un esempio dal mio blog: http: // www .unit-testing.net / CurrentArticle / How-To-Use-Model-View-Presenter-Con-aspnet-WebForms.html

la mia opinione personale è che se c'è molto codice nel codice dietro, ci sono ancora modi diversi dall'adottare M-V-P al fine di snellirlo, refactoring e renderlo testabile.

se la tua pagina ha un'ampia interazione dell'utente (come pulsanti / collegamenti che abilitano / disabilitano, pannelli e controlli che appaiono / scompaiono) M-V-P varrebbe la seccatura.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top