2009-06-25 17 views
7

Sono abituato ad avere metodi statici nella cartella App_Code, questa cartella non è più disponibile nel modello MVC. Questi metodi statici che uso in tutto il sito.Dove inserire metodi comuni nell'applicazione MVC

Come è fatto in MVC, qual è la migliore pratica?
Come chiamate i metodi comuni?

risposta

8

In genere avrò uno o più progetti di librerie di classi nella stessa soluzione per contenere classi ausiliarie. Crea le tue classi in un progetto di libreria di classi, quindi fai riferimento alla DLL di quel progetto nell'applicazione web MVC. L'eccezione a questo sarebbe qualsiasi modello, reale o di sola visualizzazione. Questi potrebbero essere messi nella cartella Modelli.

+0

In realtà finisco per mettere il mio modello in un assembly separato e avere il mio ViewModel nella mia cartella del modello. Ma non è né qui né là in termini di domanda. – Sekhat

+0

Anche questa è la mia pratica. – tvanfosson

1

Come ha detto @tvanfosson ha un progetto diverso e contiene tutte le librerie di classi, ma se vuoi mantenerlo semplice puoi creare una cartella all'interno del tuo progetto e salvare tutti i tuoi file .cs/.vb all'interno della cartella

1

I miei metodi di solito rientrano in 3 aree in MVC; metodi commerciali, flusso del controller e presentazione.

I miei metodi commerciali vanno nei servizi, se esiste una logica globale lo consento in un unico servizio, magari con un gruppo di servizi nascosti dietro di esso.

Per la logica del controller, creo metodi di estensione rispetto a Controller.

Per la presentazione creo metodi di estensione attaccato al helper html e li chiamo con <% = Html.MyCustomPresentationMethod()%>

5

solito io faccio una chiamata Utility classe che contiene metodi statici che non sembrano adattarsi da qualsiasi altra parte.

5

Dipende dalla dimensione della tua app. Per la piccola app basta creare una cartella e inserire le classi al suo interno; Se hai molte classi - crea un progetto separato per loro.

Problemi correlati