Questa è una domanda di progettazione / refactoring MVC.
Uso un controller e all'interno eseguo queste attività:
- Ottiene il prezzo di un oggetto da un database, per il quale utilizzo un modello di repository
- Crea un oggetto
LineItem
, che inizializzo con il prezzo e altri dati - Eseguo il comando "salva nel database", per il quale utilizzo un servizio
SaveLineItem
. È un servizio semplice che salva soloLineItem
Attualmente tutte e 3 le azioni di cui sopra si verificano nel controller
Tuttavia, mi chiedo se farò meglio spostando le azioni 1 e 2 nel servizio SaveLineItem
, assegnando così maggiori responsabilità a quel servizio.
Così facendo avrò un controller più piccolo, ma avrò anche un servizio più gonfio. Quello che prima era un servizio che si occupava solo dell'oggetto LineItem
, ora si occuperà di ottenere il prezzo dell'oggetto, creando l'oggetto LineItem
e quindi salvandolo.
La mia domanda è, dovrei fare questo refactoring? Il servizio è eccessivo e l'assegnazione di maggiori responsabilità è più importante se si mantiene gonfio il controller?