Organizzazione dell'azione nel controller MVC

0

Sto sviluppando un'applicazione ASP.NET MVC, che ha un sacco di interazione lato client ie. un sacco di chiamate Ajax alle azioni del controllore.

Attualmente ho controller che contengono azioni (parte dello stesso controller) che restituiscono sia viste che dati (json / xml), sto considerando che è una buona pratica avere azioni che restituiscono dati e viste sotto un unico controller.

Ad esempio sotto

/Controllers/CarsController/
public ActionView Index()
public ActionView Car(int carID)
public ActionResult CarMakes() 
public ActionResult CarModels(int makeID)



/Controllers/StoresController
public ActionView Index()
public ActionView Store(int storeID)
public ActionResult Cities()
public ActionResult Stores()

Questo è un modo di pensare e l'altro sarebbe

/Controllers/CarsController/
public ActionView Index()
public ActionView Car(int carID)

/Controllers/StoresController
public ActionView Index()
public ActionView Store(int storeID)

/Controllers/ServicesController
public ActionResult CarMakes() 
public ActionResult CarModels(int makeID)
public ActionResult Cities()
public ActionResult Stores()

Il secondo modo offre un modo più semplice per trovare tutte le azioni disponibili che potrebbero essere utilizzate per l'interazione lato client. Le azioni evitano la duplicazione, potrebbero anche essere riutilizzate e richiamate da diversi controller (possono essere chiamati e riutilizzati in entrambi i modi)

Quindi tra questi due vorrei solo sapere che cosa è una pratica generale durante la progettazione dell'applicazione MVC?

    
posta John 06.10.2015 - 09:58
fonte

1 risposta

1

Il primo approccio sembra migliore. Mantieni tutte le azioni relative a un determinato oggetto (di solito un modello) sotto un singolo controller. Saprai per certo che se devi modificare un'azione esistente relativa alle auto, questa si troverà sotto CarsController. Questo rende il tuo codice più facile da mantenere.

È perfettamente normale che un singolo controller contenga diversi tipi di azioni.

    
risposta data 06.10.2015 - 10:05
fonte

Leggi altre domande sui tag