Ora sto scrivendo un programma, che consentirà l'elaborazione dei dati espressi sotto forma di grafici. Questi grafici determineranno il flusso di lavoro dell'elaborazione e sono in realtà un'essenza di questo programma (in termini di essere l'oggetto principale che viene modificato dall'utente).
È molto, molto allettante mettere tutto il processo, il contenimento dei dati e la presentazione in un unico controllo, che visualizzerà anche questi grafici e gestirà l'interazione dell'utente. Da un lato sembra violare la presentazione / logica, ma dall'altro sono certo che scriverò sicuramente almeno 2 o 3 volte meno codice, perché non dovrò preoccuparmi della sincronizzazione costante tra il modello di dati e il controllo, che presenterà questo modello (+ incapsulamento, interfacce, classi proxy ecc.)
Mi chiedo come sia fatto in editori come Word. I dati visualizzati dal controllo sono fisicamente separati dal presentatore o sono combinati? Se utilizzi il controllo documento di Word nel tuo programma, chiedi al controllo di eseguire operazioni sul testo, cosa suggerirebbe che non c'è separazione (ma non sappiamo come funzioni sotto il cofano).
Quindi la domanda: la separazione tra la presentazione dei dati e la logica vale anche se richiede come 2x o 3 volte più codice per mantenere tutto coerente e sincronizzato? (sì, intendo 2x o 3x).
Ho descritto la situazione in modo più dettagliato nella domanda successiva: link