MVC, quando separare i controller?

5

Sto iniziando con MVC e ho una domanda da principiante. Quali sarebbero i criteri logici per definire cosa dovrebbe comprendere un controller? Ad esempio, supponiamo che un sito Web abbia una sezione "aiuto". Qui ci sono diverse opzioni come: "su di noi", "istruzioni di ritorno", "contattaci", "opportunità di lavoro". A questi si accede quindi come "mysite.com/help/aboutus", "mysite.com/help/returns", "mysite.com/help/contactus", ecc.

La mia domanda è: dovrei avere un controller "di aiuto" che ha "su di noi", "ritorna", "contattaci", "lavoro" come azioni con la rispettiva vista, o ognuno di questi dovrebbe essere un controller diverso -action-view set? Quale dovrebbe essere la linea di ragionamento per determinare quando separare i controller?

    
posta Rodolfo 06.09.2012 - 21:08
fonte

2 risposte

3

Tutto dipende da te.

Con ASP.Net MVC3 puoi scegliere se vuoi che il routing predefinito esegua il lavoro o se desideri creare manualmente alcuni URL sexy. puoi creare percorsi che sembrano essere all'interno dello stesso controller, ma in realtà possono trovarsi in molti controller diversi.

I criteri che dovresti usare quando decidi l'organizzazione dei Controllori e il loro metodo è, queste azioni sono in qualche modo correlate?

Seguendo il tuo esempio di aiuto. Avrebbe senso tenerli all'interno dello stesso controller perché offrono "Help" in un modo o nell'altro.

    
risposta data 06.09.2012 - 21:12
fonte
1

In genere un controller associa una classe a un URL di base, di solito una pagina web, ad es. mysite.com/help, quindi hai l'idea giusta. I metodi di classe sono in genere gestori per le azioni attivate dai controlli nella pagina, che in genere hanno un percorso aggiunto, ad es. mysite.com/help/contact - se dice "contatto" era un pulsante che apriva il programma di posta predefinito dell'utente con l'indirizzo della società popolato nel campo "A".

    
risposta data 06.09.2012 - 22:19
fonte

Leggi altre domande sui tag