Devo elaborare circa 20 parametri POST e non sono sicuro di dove farlo.Devo accedere ai parametri POST nel modello o passare come argomenti del metodo dal controller?
Potrei definire ciascuno come argomento del metodo sul modello e passarli dal controller quando viene chiamato il metodo. Ciò comporterebbe un bel po 'di lavoro e renderebbe la funzione chiamata meno leggibile, a causa del numero di argomenti.
Oppure potrei chiamare il metodo sul modello e accedere direttamente ai parametri.
Passare i parametri come argomenti mi avrebbe consentito un maggiore controllo sui parametri a cui la funzione accede e la documentazione sarebbe più intuitiva. Ma se i nuovi parametri sono stati aggiunti in seguito, dovrebbero essere aggiunti alla fine della chiamata al metodo, in modo da non interrompere tutte le chiamate esistenti. Immagino che questo diverrebbe abbastanza confuso se dovesse accadere alcune volte, poiché gli argomenti non possono essere raggruppati logicamente.
Se accedo al parametro nel modello, non è necessario passare alcun parametro dal controller al modello, rendendo il metodo chiamato terser. Ma non ho alcun controllo sui parametri a cui si accede, in quanto possono essere aggiunti o rimossi facilmente e senza restrizioni. Ciò richiederebbe una maggiore disciplina da parte degli altri sviluppatori, e non mi piace dipendere da questo, perché prima o poi qualcuno è destinato a "solo (aggiungi | cambia | aggiusta) questo molto veloce".
Non sono sicuro su quale direzione andare. Tendo a fare tutto nel modello, poiché è più veloce da scrivere, sembra più facile da mantenere (nessun argomento caotico) e concettualmente si adatta meglio alla mia visione di un modello. D'altra parte, non sono sicuro che la mia vista di un modello sia corretta, e se finirà nel caos se dipenderò dagli altri sviluppatori per aggiornare sempre la documentazione dopo ogni modifica.
Quindi, cosa dovrei fare?
Ho scelto di non accettare alcuna risposta alla mia domanda, in quanto non c'è una risposta chiara. In generale, seguirò l'approccio di Ignas e Lucas, poiché i dati sono più vincolati. Per questo caso nella nostra applicazione, la risposta karims si adatta meglio. – Thomas