Torna a ASP.Net Webforms da ASP.Net MVC. Raccomanda modelli / architetture?

12

Per molti di voi questo sembrerà una domanda ridicola, ma ti sto chiedendo perché ho poca o nessuna esperienza con Webform ASP.Net - Sono andato direttamente ad ASP.Net MVC.

Ora sto lavorando a un progetto in cui siamo limitati a .Net 2.0 e Visual Studio 2005.

Mi è piaciuta la netta separazione delle preoccupazioni quando si lavora con ASP.Net MVC e sto cercando qualcosa per rendere le forme web meno insopportabili. Esistono modelli o pratiche raccomandate per le persone che preferiscono asp.net MVC, ma sono bloccati su .net 2.0 e visual studio 2005?

    
posta jlnorsworthy 08.03.2011 - 07:07
fonte

5 risposte

7

Consiglierei Model View Presenter (MVP). Lo abbiamo usato su una recente app WebForms e ha aumentato la nostra testabilità e ci ha permesso di rafforzare la separazione dei dubbi.

link è un grande articolo di Jean Paul Boodhoo su questo modello; anche il download del codice è buono. Tuttavia, potresti scoprire che non hai bisogno di DTO e interfacce per DTO.

Un altro buon articolo è questo su codeproject.com: link

Modifica: c'è anche un framework chiamato WebForms MVP ma non ne so molto.

    
risposta data 08.03.2011 - 10:41
fonte
4

Ti consiglio di capire il ciclo di vita della pagina di .net 2.0

Questi video potrebbero valerne la pena, anche se non tutti sono gratuiti ma almeno questo sarà un buon inizia per te .... Il fatto è che questo ti darà un'idea su cosa cercare più avanti in seguito.

    
risposta data 08.03.2011 - 07:16
fonte
3

Come avrete già scoperto, avreste bisogno di disimparare un paio di cose che avete imparato con ASP.NET MVC (btw - lo stesso accade quando una persona ASP.NET si avvicina per apprendere ASP.NET MVC). È ancora possibile implementare pattern MVC in ASP.NET ma la separazione di View e Model è molto sfocata in ASP.NET a causa dell'architettura di post-evento / pagina.

Secondo me, la maggior parte del tuo nuovo apprendimento sarà correlata a Page Life Cycle and Eventing & Controlli. Le solite interazioni tra Session, Cache, ViewState e DB rimangono le stesse.

HTH ...

    
risposta data 08.03.2011 - 07:14
fonte
2

Checkout Front Controller motivo e Implementazione di Front Controller in Asp.Net. Fai queste cose solo se il tuo progetto sarà di buone dimensioni. Fare questo per un piccolo progetto non giustificherebbe il ROI.

In un piccolo progetto puoi provare a impostare alcune linee guida. Ad esempio: nessuna logica aziendale, nessuna sessione utilizzata ecc. Nel codice sottostante.

Scopri cosa si adatta meglio al tuo caso. In ogni caso, tieni la tentazione di fare oltre l'ingegneria.

    
risposta data 08.03.2011 - 07:15
fonte
0

Nei giorni bui di .NET 1.1 ho creato (credo come tutti) una sorta di sistema MVC per un'applicazione che andava così.

Una pagina è stata creata per essere una specie di maestro "falso". Questo ha avuto qualche tubatura per mostrare menu, script, stili, ecc.

Le "viste" erano controlli utente individuali.

C'era una tabella con informazioni su ogni vista. Ad esempio, "Prodotto" caricherà ~/Controls/Product.ascx in un segnaposto. La tabella aveva anche un campo che conteneva il nome del tipo della classe del modello (come se). Ogni modello ha implementato un'interfaccia ben nota. Questa classe è stata istanziata utilizzando Activator.CreateInstance() e chiamata per inizializzare, e quindi è stata passata al controllo stesso (inversione del controllo?). Il controllo quindi ha chiamato vari metodi per ottenere set di dati o quant'altro. L'interfaccia stessa è stata normalizzata per avere i soliti metodi CRUD (Lettura / Scrittura / Elenco / Elimina). C'era anche uno strato DAL / ORM sotto questo.

Non è stato bello, ma ha funzionato bene. È stato facile testarlo e svilupparlo, e la maggior parte degli sviluppatori che sono venuti a bordo si sarebbe ripresa abbastanza rapidamente. Soprattutto, è stato relativamente semplice da creare.

    
risposta data 08.03.2011 - 07:24
fonte

Leggi altre domande sui tag