Nel modello MVC, il modello e la vista dovrebbero essere molto concreti e adattati al componente rappresentato? O dovrebbero essere il più generici possibile in modo che possano essere facilmente riutilizzati?
Caso specifico
I miei dati sono una lista di fotogrammi registrati. Ogni frame può essere costituito da più blob di dati, ad esempio un'immagine e alcuni metadati:
-
Approach (1) : potrei usare un generico
TableModelper rappresentare i dati registrati e un genericoTableViewper visualizzarlo: Ogni colonna rappresenta un frame e ogni riga rappresenta un tipo di dati. Ad esempio, una riga è l'immagine, una riga è una descrizione dell'immagine inserita dall'utente, ecc. -
Approach (2) : potrei creare uno specifico
RecorderModel, che forse riutilizza il genericoTableModele uno specificoRecorderView, che forse riutilizza il genericoTableView.
Quest'ultima opzione sembra preferibile, poiché il modello e la vista possono essere facilmente modificati se vengono richieste modifiche specifiche. Tuttavia, sembra che finirei con un sacco di classi vuote come RecorderModel / RecorderView che racchiudono solo il generico TableModel / TableView .
Ci sono delle insidie o importanti vantaggi / svantaggi di cui dovrei essere a conoscenza? C'è un consenso generale come usa sempre modelli generici, usa sempre viste concrete o qualcosa di simile? Dipende dal framework MVC usato?