Procedural code gets information then makes decisions. Object-oriented code tells objects to do things.
- Alec Sharp
Quindi, quando una vista vuole visualizzare alcune informazioni che si suppone derivino dalle proprietà di un modello che sta visualizzando, il calcolo dovrebbe essere parte del modello o della vista?
Idealmente la vista dovrebbe dire all'oggetto le informazioni di cui ha bisogno, e il modello dovrebbe fare il calcolo e restituire il risultato.
Ma ora, il modello dovrebbe iniziare ad avere nuovi metodi ogni volta che un nuovo tipo di visualizzazione vuole visualizzare informazioni aggiuntive derivate dalla proprietà del modello?
Questi metodi dovrebbero essere nella vista o nel modello? O in questi casi dovremmo creare una sottoclasse del modello, aggiungere i metodi richiesti e quindi assegnarlo alla vista?
Sono uno sviluppatore Objective-C, posso anche aggiungere una categoria al modello per la vista ma nelle lingue in cui non abbiamo funzionalità in cui possiamo aggiungere metodi a oggetti e classi in fase di esecuzione, qual è il design ideale ?
Oppure i modelli in MVC intendevano essere solo informazioni in coppie chiave-valore anziché oggetti reali da passare attorno, dove una vista legge ogni valore basato su un getter?