Unire funzionalità da due controller; dovrei posizionare tutte le azioni in un controller?

3

Dire che ho 2 controller, OrderController e StatusController . OrderController ha diverse azioni CRUD per gli ordini e StatusController ha diverse azioni pertinenti per cambiare il satus degli ordini (da creato a inviato, cancellato, ecc.)

StatusController ha solo una vista in cui è possibile eseguire diverse azioni, ma per motivi di usabilità ho deciso di unire la funzionalità di questa vista con l'azione Index di OrdersController . (Questo è solo un esempio adattato per la domanda, quindi portami con me se sembra sciocco).

Solo copia / incolla l'Html nelle viste da qui a lì tutto funziona, ovviamente, ma ...

Che cosa dovrei fare con le azioni su StatusController ? Dovrei spostarli in OrderController o dovrei lasciare che StatusController esista anche se non ha viste? Penso che potrebbe essere meglio che avere OrderController abbia 15 azioni, ma è auspicabile? Esiste una buona pratica / approccio raccomandato in questo caso?

    
posta Sergi Papaseit 23.03.2011 - 12:42
fonte

1 risposta

4

In base al tuo commento sopra alla mia domanda in cui hai affermato che il controller di stato viene utilizzato solo per le chiamate AJAX al momento lo lascerei comunque separato dal controller degli ordini.

L'idea di MVC è che il controller agisca come un agente di traffico per le richieste in entrata e che determini le risposte in uscita. Anche se non si restituisce una visualizzazione per dire, si hanno ancora richieste specifiche di stato (tramite AJAX) e risposte (tramite JSON) al server Web che garantisce una separazione.

Forse per mantenere più concisi i nomi, è possibile rinominare il controller di stato in OrderStatusController poiché sembra che agisca esclusivamente sullo stato degli ordini.

    
risposta data 23.03.2011 - 17:43
fonte

Leggi altre domande sui tag