Mi sto interrogando sulle migliori pratiche qui.
I pattern MVC (Model - View - Controller) prevedono la separazione dei componenti del programma che modellano i dati, manipolano tali modelli e li mostrano all'utente (di solito attraverso l'interfaccia utente) in qualche modo.
Che dire di una funzione che prende i dati del modello e li inserisce in un database? Ad esempio, ho un oggetto chiamato GameBoard e voglio anche la possibilità di inserire lo stato di questa scheda nel database SQL per scopi di archiviazione / storici. Ho una classe che contiene tutte le mie funzioni di query.
Ma da dove potrei chiamare queste funzioni? Questo tipo di funzionalità avrebbe più senso renderlo un metodo di GameBoard? O dovrebbe far parte delle classi del controllore?
Ad esempio, ho una classe GameBoard e una classe SQLDatasource / SQLHelper (che io chiamo i "modelli"). Le classi SQL hanno metodi che si occupano delle query e così via. In Android, ci sono anche classi di attività in cui si svolgono tutti gli "eventi" (io li chiamo i "controllori"). La "vista" avviene tramite codice che lega l'attività a qualche XML. Detto questo, di solito istanzia le GameBoard nelle classi Activity, e in questo momento chiamerò anche le funzioni di query di queste stesse classi che accettano una GameBoard come argomento.