Ho sempre usato un modello di classe in tutti e 3 i settori dei miei progetti. Interfaccia utente, API hardware (per la raccolta dei dati), database (contesto del database delle entità). Ogni nuovo progetto sembra solo crescere di dimensioni, il che significa che diventa difficile cambiare il modello di classe perché tutto lo utilizza.
Mi è stato suggerito dal programmatore esperto di dividere il mio modello di classe e usarne uno diverso per ogni parte del mio progetto. Quindi convertire i dati tra i modelli con i dati di passaggio avanti e indietro tra le diverse parti. Il che significa che se uno dei modelli cambia, devi solo cambiare il codice in quella sezione e cambiare i "convertitori".
Questa è una pratica generale? È sicuramente più lavoro inizialmente, ma mi chiedo se mi farà risparmiare tempo in futuro.
EDIT: ho modificato il modello dati in modello di classe come suggerito nei commenti. Anche se quello di cui sto parlando in modo specifico sono dati modellati in classi nella mia applicazione.