Mi piace molto il modo in cui funziona ASP.NET MVC. Mi piacerebbe implementarlo su tutti i nuovi progetti web in futuro, ma mi sono imbattuto in un prototipo l'altro giorno in cui non ho trovato una buona soluzione, quindi ti chiedo, come potresti progettare un'app MVC che non si adatta al tipico pattern REST? Ad esempio, il prototipo che stavo progettando avrebbe diverse pagine, ma le pagine stesse non sono necessariamente legate a un modello di dominio. Per esempio, prendete un sito semplice registrazione, che potrebbe avere le seguenti pagine:ASP.NET MVC controller azioni design
- /Default.aspx
- /Register.aspx
- /ThankYou.aspx
Di tanto in tanto, un tale il programma potrebbe richiedere una sezione di amministrazione per gestire dettagli come la moderazione delle iscrizioni o la revisione dei dati. In un ASP.NET web app di serie, mi permetto di aggiungere il seguente
- /Admin/Default.aspx
- /Admin/ListRegistrations.aspx
- /Admin/ViewReports.aspx ...
sarebbe uno scostamento inaccettabile dal pattern MVC, in questo caso, di avere due controller come:
- Home-> Indice
- Home-> register
- Home-> Grazie
- Admin-> Indice
- Admin-> ListRegistrations
- Admin-> Reports
La mia frustrazione con questo è aggravato dal fatto che non esiste ancora una solida implementazione dei subcontrollori e delle aree. Sono a conoscenza del prototipo di "Aree" messo insieme da Phil Haack, ma non è molto maturo, e francamente, non sono sicuro che mi piaccia il modo in cui è impostato, ma non so davvero come mi piacerebbe per vedere che lavoro sia.
Immagino che quando penso a MVC tendo a pensare anche a REST e che le azioni del controller che rappresentano le pagine piuttosto che le entità o le azioni effettive non sono adeguate a me. Cosa ne pensi?
Questa è probabilmente l'idea migliore. Riesco a vedere la progettazione della parte utente del sito per utilizzare la roba MVC mantenendo la logica specifica dell'amministratore nei normali moduli Web. Grazie per avermi ricordato. – Chris